>>>>> "Joost" == Joost Verburg <[EMAIL PROTECTED]> writes:
Joost> The idea is to have no lyxrc.defaults, textclass.lst and
Joost> packages.lst in the LyX directory but only in the users
Joost> directory?
Joost> It doesn't seem to work on Windows. When I start LyX for the
Joost> first time, I would expect it to run configure.py to create
Joost> those files in the users directory. However, it gives an error
Joost> "unable to find textclass file" instead.
Could you try one of the following patches? They make sure that
reconfiguration is done if lyxrc.defaults is not found.
JMarc
Index: src/lyx_main.C
===================================================================
--- src/lyx_main.C (revision 13790)
+++ src/lyx_main.C (working copy)
@@ -611,8 +611,6 @@ void LyX::deadKeyBindings(kb_keymap * kb
bool LyX::queryUserLyXDir(bool explicit_userdir)
{
- bool reconfigure = false;
-
// Does user directory exist?
if (fs::exists(package().user_support()) &&
fs::is_directory(package().user_support())) {
@@ -621,13 +619,14 @@ bool LyX::queryUserLyXDir(bool explicit_
AddName(package().system_support(), "configure.py");
string const userDefaults =
AddName(package().user_support(), "lyxrc.defaults");
- if (fs::exists(configure_script) &&
- fs::exists(userDefaults) &&
- fs::last_write_time(configure_script)
- > fs::last_write_time(userDefaults)) {
- reconfigure = true;
- }
- return reconfigure;
+
+ // reconfigure is required if either (1) userDefaults
+ // does not exist or (2) it exists but configure.py is
+ // newer.
+ return fs::exists(configure_script)
+ && (! fs::exists(userDefaults)
+ || fs::last_write_time(configure_script)
+ > fs::last_write_time(userDefaults));
}
first_start = !explicit_userdir;
@@ -651,7 +650,6 @@ bool LyX::queryUserLyXDir(bool explicit_
lyxerr << bformat(_("LyX: Creating directory %1$s"),
package().user_support())
<< endl;
- reconfigure = true;
if (!createDirectory(package().user_support(), 0755)) {
// Failed, so let's exit.
@@ -660,7 +658,7 @@ bool LyX::queryUserLyXDir(bool explicit_
exit(1);
}
- return reconfigure;
+ return true;
}
Index: src/lyx_main.C
===================================================================
--- src/lyx_main.C (revision 13789)
+++ src/lyx_main.C (working copy)
@@ -611,8 +611,6 @@ void LyX::deadKeyBindings(kb_keymap * kb
bool LyX::queryUserLyXDir(bool explicit_userdir)
{
- bool reconfigure = false;
-
// Does user directory exist?
if (fs::exists(package().user_support()) &&
fs::is_directory(package().user_support())) {
@@ -621,13 +619,14 @@ bool LyX::queryUserLyXDir(bool explicit_
addName(package().system_support(), "configure.py");
string const userDefaults =
addName(package().user_support(), "lyxrc.defaults");
- if (fs::exists(configure_script) &&
- fs::exists(userDefaults) &&
- fs::last_write_time(configure_script)
- > fs::last_write_time(userDefaults)) {
- reconfigure = true;
- }
- return reconfigure;
+
+ // reconfigure is required if either (1) userDefaults
+ // does not exist or (2) it exists but configure.py is
+ // newer.
+ return fs::exists(configure_script)
+ && (! fs::exists(userDefaults)
+ || fs::last_write_time(configure_script)
+ > fs::last_write_time(userDefaults));
}
first_start = !explicit_userdir;
@@ -651,7 +650,6 @@ bool LyX::queryUserLyXDir(bool explicit_
lyxerr << bformat(_("LyX: Creating directory %1$s"),
package().user_support())
<< endl;
- reconfigure = true;
if (!createDirectory(package().user_support(), 0755)) {
// Failed, so let's exit.
@@ -660,7 +658,7 @@ bool LyX::queryUserLyXDir(bool explicit_
exit(1);
}
- return reconfigure;
+ return true;
}