]> git.lyx.org Git - lyx.git/blobdiff - src/support/os_unix.cpp
Use more informative descriptions fro Springer layouts
[lyx.git] / src / support / os_unix.cpp
index 81cbb354fe081f23b7dffa01513de5b1602c99e6..5a6c21fe63e72e98ca31e278e1c56ab3b8ba5d5f 100644 (file)
@@ -43,12 +43,12 @@ namespace {
 int argc_ = 0;
 char ** argv_ = 0;
 
-} // namespace anon
+} // namespace
 
-void init(int argc, char * argv[])
+void init(int argc, char ** argv[])
 {
        argc_ = argc;
-       argv_ = argv;
+       argv_ = *argv;
 
        // Set environment's default locale
        setlocale(LC_ALL, "");
@@ -298,14 +298,29 @@ bool autoOpenFile(string const & filename, auto_open_mode const mode,
 
        string const texinputs = os::latex_path_list(
                replaceCurdirPath(path, lyxrc.texinputs_prefix));
-       string const oldval = getEnv("TEXINPUTS");
-       string const newval = ".:" + texinputs + ":" + oldval;
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", newval);
+       string const otherinputs = os::latex_path_list(path);
+       string const oldtexinputs = getEnv("TEXINPUTS");
+       string const newtexinputs = ".:" + texinputs + ":" + oldtexinputs;
+       string const oldbibinputs = getEnv("BIBINPUTS");
+       string const newbibinputs = ".:" + otherinputs + ":" + oldbibinputs;
+       string const oldbstinputs = getEnv("BSTINPUTS");
+       string const newbstinputs = ".:" + otherinputs + ":" + oldbstinputs;
+       string const oldtexfonts = getEnv("TEXFONTS");
+       string const newtexfonts = ".:" + otherinputs + ":" + oldtexfonts;
+       if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {
+               setEnv("TEXINPUTS", newtexinputs);
+               setEnv("BIBINPUTS", newbibinputs);
+               setEnv("BSTINPUTS", newbstinputs);
+               setEnv("TEXFONTS", newtexfonts);
+       }
        status = LSOpenFromURLSpec (&launchUrlSpec, NULL);
        CFRelease(launchItems);
-       if (!path.empty() && !lyxrc.texinputs_prefix.empty())
-               setEnv("TEXINPUTS", oldval);
+       if (!path.empty() && !lyxrc.texinputs_prefix.empty()) {
+               setEnv("TEXINPUTS", oldtexinputs);
+               setEnv("BIBINPUTS", oldbibinputs);
+               setEnv("BSTINPUTS", oldbstinputs);
+               setEnv("TEXFONTS", oldtexfonts);
+       }
        return status == 0;
 #else
        // silence compiler warnings