]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.cpp
cmake: remove 2.8 warning
[lyx.git] / src / LyX.cpp
index 3f43e1d956a3cfe72cab0abcc9dd87186f5cf441..8321251751a7d22457f2555ac02c49546010926d 100644 (file)
@@ -292,11 +292,11 @@ int LyX::exec(int & argc, char * argv[])
        try {
                init_package(os::utf8_argv(0), string(), string(),
                        top_build_dir_is_one_level_up);
+               // we do not get to this point when init_package throws an exception
+               locale_init();
        } catch (ExceptionMessage const & message) {
                LYXERR(Debug::LOCALE, message.title_ + ", " + message.details_);
        }
-       // FIXME: This breaks out of source build under Windows.
-       locale_init();
 
        // Here we need to parse the command line. At least
        // we need to parse for "-dbg" and "-help"
@@ -671,7 +671,7 @@ static void error_handler(int err_sig)
                          "hope you have not lost any data.\n"
                          "Please read the bug-reporting instructions "
                          "in 'Help->Introduction' and send us a bug report, "
-                         "if necessary. Thanks !\nBye.");
+                         "if necessary. Thanks!\nBye.");
                break;
        case SIGINT:
        case SIGTERM:
@@ -745,6 +745,12 @@ bool LyX::init()
                                              "templates");
        }
 
+       // init LyXDir environment variable
+       string const lyx_dir = package().lyx_dir().absFileName();
+       LYXERR(Debug::INIT, "Setting LyXDir... to \"" << lyx_dir << "\"");
+       if (!setEnv("LyXDir", lyx_dir))
+               LYXERR(Debug::INIT, "\t... failed!");
+
        //
        // Read configuration files
        //
@@ -764,7 +770,7 @@ bool LyX::init()
                prependEnvPath("PATH", package().binary_dir().absFileName());
 #endif
        if (!lyxrc.path_prefix.empty())
-               prependEnvPath("PATH", lyxrc.path_prefix);
+               prependEnvPath("PATH", replaceEnvironmentPath(lyxrc.path_prefix));
 
        // Check that user LyX directory is ok.
        if (queryUserLyXDir(package().explicit_user_support()))
@@ -842,7 +848,7 @@ bool LyX::init()
 
        os::windows_style_tex_paths(lyxrc.windows_style_tex_paths);
        if (!lyxrc.path_prefix.empty())
-               prependEnvPath("PATH", lyxrc.path_prefix);
+               prependEnvPath("PATH", replaceEnvironmentPath(lyxrc.path_prefix));
 
        FileName const document_path(lyxrc.document_path);
        if (document_path.exists() && document_path.isDirectory())