There is a bug in the automatic reconfiguration code: If the user don't have ~/.lyx/lyxrc.default file, then the configure script is invoked. This is wrong: if the user environment is equal to the system environment, then running the configure script does not create a ~/.lyx/lyxrc.default file. In that case, lyx will run the configure script on each startup.
The attached patch fixes this. Note that it assumes that the LYXLIBDIR/lyxrc.defaults file is updated whenever a new version of LyX is installed (is this true ?).
? x.lyx Index: ChangeLog =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/ChangeLog,v retrieving revision 1.950 diff -u -p -r1.950 ChangeLog --- ChangeLog 8 Oct 2002 09:24:01 -0000 1.950 +++ ChangeLog 9 Oct 2002 14:02:00 -0000 @@ -1,3 +1,7 @@ +2002-10-09 Dekel Tsur <[EMAIL PROTECTED]> + + * lyx_main.C (queryUserLyXDir): Fix automatic reconfiguration. + 2002-10-07 Jean-Marc Lasgouttes <[EMAIL PROTECTED]> * lyxrc.C (read): treat a viewer or converter command of "none" as Index: lyx_main.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyx_main.C,v retrieving revision 1.124 diff -u -p -r1.124 lyx_main.C --- lyx_main.C 7 Oct 2002 13:31:37 -0000 1.124 +++ lyx_main.C 9 Oct 2002 14:02:00 -0000 @@ -577,13 +577,13 @@ void LyX::queryUserLyXDir(bool explicit_ FileInfo fileInfo(user_lyxdir); if (fileInfo.isOK() && fileInfo.isDir()) { first_start = false; - Path p(user_lyxdir); FileInfo script(configure_script); - FileInfo defaults("lyxrc.defaults"); - if (!defaults.isOK() - || defaults.getModificationTime() < script.getModificationTime()) { + FileInfo defaults(AddName(user_lyxdir, "lyxrc.defaults")); + if (defaults.isOK() && script.isOK() + && defaults.getModificationTime() < script.getModificationTime()) { lyxerr << _("LyX: reconfiguring user directory") << endl; + Path p(user_lyxdir); ::system(configure_script.c_str()); lyxerr << "LyX: " << _("Done!") << endl; }