]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.cpp
Move bind file format tag to LyXAction.cpp, and rename it.
[lyx.git] / src / LyXRC.cpp
index 5b351fc5a5069ac2e7d4205c8dfb379c8ba3f79b..94edf1715498d14c06faee57710a3ba5de2085b1 100644 (file)
@@ -54,6 +54,8 @@ namespace os = support::os;
 
 namespace {
 
+static unsigned int const LYXRC_FILEFORMAT = 1;
+
 // when adding something to this array keep it sorted!
 LexerKeyword lyxrcTags[] = {
        { "\\accept_compound", LyXRC::RC_ACCEPT_COMPOUND },
@@ -97,7 +99,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\example_path", LyXRC::RC_EXAMPLEPATH },
        { "\\export_overwrite", LyXRC::RC_EXPORT_OVERWRITE },
        { "\\font_encoding", LyXRC::RC_FONT_ENCODING },
-       { "\\format", LyXRC::RC_FORMAT },
+       { "\\format", LyXRC::RC_FILEFORMAT },
        { "\\forward_search_dvi", LyXRC::RC_FORWARD_SEARCH_DVI },
        { "\\forward_search_pdf", LyXRC::RC_FORWARD_SEARCH_PDF },
        { "\\fullscreen_limit", LyXRC::RC_FULL_SCREEN_LIMIT },
@@ -122,9 +124,9 @@ LexerKeyword lyxrcTags[] = {
        { "\\language_command_begin", LyXRC::RC_LANGUAGE_COMMAND_BEGIN },
        { "\\language_command_end", LyXRC::RC_LANGUAGE_COMMAND_END },
        { "\\language_command_local", LyXRC::RC_LANGUAGE_COMMAND_LOCAL },
+       { "\\language_custom_package", LyXRC::RC_LANGUAGE_CUSTOM_PACKAGE },
        { "\\language_global_options", LyXRC::RC_LANGUAGE_GLOBAL_OPTIONS },
-       { "\\language_package", LyXRC::RC_LANGUAGE_PACKAGE },
-       { "\\language_use_babel", LyXRC::RC_LANGUAGE_USE_BABEL },
+       { "\\language_package_selection", LyXRC::RC_LANGUAGE_PACKAGE_SELECTION },
        { "\\load_session", LyXRC::RC_LOADSESSION },
        { "\\mac_dontswap_ctrl_meta", LyXRC::RC_MAC_DONTSWAP_CTRL_META },
        { "\\mac_like_word_movement", LyXRC::RC_MAC_LIKE_WORD_MOVEMENT },
@@ -137,9 +139,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\open_buffers_in_tabs", LyXRC::RC_OPEN_BUFFERS_IN_TABS },
        { "\\paragraph_markers", LyXRC::RC_PARAGRAPH_MARKERS },
        { "\\path_prefix", LyXRC::RC_PATH_PREFIX },
-       { "\\personal_dictionary", LyXRC::RC_PERS_DICT },
        { "\\plaintext_linelen", LyXRC::RC_PLAINTEXT_LINELEN },
-       { "\\plaintext_roff_command", LyXRC::RC_PLAINTEXT_ROFF_COMMAND },
        { "\\preview", LyXRC::RC_PREVIEW },
        { "\\preview_hashed_labels", LyXRC::RC_PREVIEW_HASHED_LABELS },
        { "\\preview_scale_factor", LyXRC::RC_PREVIEW_SCALE_FACTOR },
@@ -179,8 +179,8 @@ LexerKeyword lyxrcTags[] = {
        { "\\set_color", LyXRC::RC_SET_COLOR },
        { "\\show_banner", LyXRC::RC_SHOW_BANNER },
        { "\\single_close_tab_button", LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON },
+       { "\\single_instance", LyXRC::RC_SINGLE_INSTANCE },
        { "\\sort_layouts", LyXRC::RC_SORT_LAYOUTS },
-       { "\\spell_command", LyXRC::RC_SPELL_COMMAND },
        { "\\spellcheck_continuously", LyXRC::RC_SPELLCHECK_CONTINUOUSLY },
        { "\\spellcheck_notes", LyXRC::RC_SPELLCHECK_NOTES },
        { "\\spellchecker", LyXRC::RC_SPELLCHECKER },
@@ -191,18 +191,11 @@ LexerKeyword lyxrcTags[] = {
        { "\\tex_expects_windows_paths", LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS },
        { "\\thesaurusdir_path", LyXRC::RC_THESAURUSDIRPATH },
        { "\\ui_file", LyXRC::RC_UIFILE },
-       { "\\use_alt_language", LyXRC::RC_USE_ALT_LANG },
        { "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
-       { "\\use_escape_chars", LyXRC::RC_USE_ESC_CHARS },
-       { "\\use_input_encoding", LyXRC::RC_USE_INP_ENC },
        { "\\use_lastfilepos", LyXRC::RC_USELASTFILEPOS },
-       { "\\use_personal_dictionary", LyXRC::RC_USE_PERS_DICT },
        { "\\use_pixmap_cache", LyXRC::RC_USE_PIXMAP_CACHE },
        // compatibility with versions older than 1.4.0 only
-       { "\\use_pspell", LyXRC::RC_USE_SPELL_LIB },
        { "\\use_system_colors", LyXRC::RC_USE_SYSTEM_COLORS },
-       // compatibility with versions older than 1.4.0 only
-       { "\\use_tempdir", LyXRC::RC_USETEMPDIR },
        { "\\use_tooltip", LyXRC::RC_USE_TOOLTIP },
        { "\\user_email", LyXRC::RC_USER_EMAIL },
        { "\\user_name", LyXRC::RC_USER_NAME },
@@ -210,7 +203,8 @@ LexerKeyword lyxrcTags[] = {
        // compatibility with versions older than 1.4.0 only
        { "\\viewer", LyXRC::RC_VIEWER},
        { "\\viewer_alternatives", LyXRC::RC_VIEWER_ALTERNATIVES },
-       { "\\visual_cursor" ,LyXRC::RC_VISUAL_CURSOR}
+       { "\\visual_cursor", LyXRC::RC_VISUAL_CURSOR },
+       { "format", LyXRC::RC_LYXRCFORMAT }
 };
 
 const int lyxrcCount = sizeof(lyxrcTags) / sizeof(lyxrcTags[0]);
@@ -309,8 +303,8 @@ void LyXRC::setDefaults()
        language_auto_begin = true;
        language_auto_end = true;
        language_global_options = true;
-       language_use_babel = true;
-       language_package = "\\usepackage{babel}";
+       language_package_selection = LP_AUTO;
+       language_custom_package = "\\usepackage{babel}";
        language_command_begin = "\\selectlanguage{$$lang}";
        language_command_local = "\\foreignlanguage{$$lang}{";
        sort_layouts = false;
@@ -341,6 +335,7 @@ void LyXRC::setDefaults()
        user_email = to_utf8(support::user_email());
        open_buffers_in_tabs = true;
        single_close_tab_button = false;
+       single_instance = true;
        forward_search_dvi = string();
        forward_search_pdf = string();
        export_overwrite = NO_FILES;
@@ -382,42 +377,53 @@ void oldFontFormat(string & family, string & foundry)
 } // namespace anon
 
 
-int LyXRC::read(FileName const & filename)
+bool LyXRC::read(FileName const & filename, bool check_format)
 {
        Lexer lexrc(lyxrcTags);
-       if (lyxerr.debugging(Debug::PARSER))
-               lexrc.printTable(lyxerr);
-
        lexrc.setFile(filename);
-       if (!lexrc.isOK())
-               return -2;
-
        LYXERR(Debug::LYXRC, "Reading '" << filename << "'...");
-
-       return read(lexrc);
+       ReturnValues retval = read(lexrc, check_format);
+       if (!check_format || retval != FormatMismatch)
+               return retval == ReadOK;
+
+       LYXERR(Debug::FILES, "Converting LyXRC file to " << LYXRC_FILEFORMAT);
+       FileName const tempfile = FileName::tempName("convert_lyxrc");
+       bool const success = prefs2prefs(filename, tempfile, false);
+       if (!success) {
+               LYXERR0 ("Unable to convert " << filename.absFileName() <<
+                       " to format " << LYXRC_FILEFORMAT);
+               return false;
+       }
+       Lexer lexrc2(lyxrcTags);
+       lexrc2.setFile(tempfile);
+       LYXERR(Debug::LYXRC, "Reading '" << tempfile << "'...");
+       retval = read(lexrc2, check_format);
+       tempfile.removeFile();
+       return retval == ReadOK;
 }
 
 
-int LyXRC::read(istream & is)
+// don't need to worry about conversion, because this is always
+// from an internal source
+bool LyXRC::read(istream & is)
 {
        Lexer lexrc(lyxrcTags);
-       if (lyxerr.debugging(Debug::PARSER))
-               lexrc.printTable(lyxerr);
-
        lexrc.setStream(is);
-       if (!lexrc.isOK())
-               return -2;
-
        LYXERR(Debug::LYXRC, "Reading istream...");
-
-       return read(lexrc);
+       return read(lexrc, false) == ReadOK;
 }
 
 
-int LyXRC::read(Lexer & lexrc)
+LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool check_format)
 {
+       if (lyxerr.debugging(Debug::PARSER))
+               lexrc.printTable(lyxerr);
+
        if (!lexrc.isOK())
-               return -2;
+               return ReadError;
+
+       // format prior to 2.0 and introduction of format tag
+       unsigned int format = 0;
 
        while (lexrc.isOK()) {
                // By using two switches we take advantage of the compiler
@@ -438,14 +444,18 @@ int LyXRC::read(Lexer & lexrc)
                        break;
                }
                switch (static_cast<LyXRCTags>(le)) {
+               case RC_LYXRCFORMAT:
+                       if (lexrc.next())
+                               format = lexrc.getInteger();
+                       break;
                case RC_INPUT: // Include file
                        if (lexrc.next()) {
                                FileName const tmp =
                                        libFileSearch(string(),
                                                      lexrc.getString());
-                               if (read(tmp)) {
-                                       lexrc.printError("Error reading "
-                                                        "included file: " + tmp.absFileName());
+                               if (read(tmp, check_format)) {
+                                       lexrc.printError(
+                                           "Error reading included file: " + tmp.absFileName());
                                }
                        }
                        break;
@@ -964,8 +974,8 @@ int LyXRC::read(Lexer & lexrc)
                case RC_DATE_INSERT_FORMAT:
                        lexrc >> date_insert_format;
                        break;
-               case RC_LANGUAGE_PACKAGE:
-                       lexrc >> language_package;
+               case RC_LANGUAGE_CUSTOM_PACKAGE:
+                       lexrc >> language_custom_package;
                        break;
                case RC_LANGUAGE_AUTO_BEGIN:
                        lexrc >> language_auto_begin;
@@ -976,8 +986,23 @@ int LyXRC::read(Lexer & lexrc)
                case RC_LANGUAGE_GLOBAL_OPTIONS:
                        lexrc >> language_global_options;
                        break;
-               case RC_LANGUAGE_USE_BABEL:
-                       lexrc >> language_use_babel;
+               case RC_LANGUAGE_PACKAGE_SELECTION:
+                       if (lexrc.next()) {
+                               switch (lexrc.getInteger()) {
+                               case 0:
+                                       language_package_selection = LP_AUTO;
+                                       break;
+                               case 1:
+                                       language_package_selection = LP_BABEL;
+                                       break;
+                               case 2:
+                                       language_package_selection = LP_CUSTOM;
+                                       break;
+                               case 3:
+                                       language_package_selection = LP_NONE;
+                                       break;
+                               }
+                       }
                        break;
                case RC_LANGUAGE_COMMAND_BEGIN:
                        lexrc >> language_command_begin;
@@ -1034,7 +1059,7 @@ int LyXRC::read(Lexer & lexrc)
                        formats.setViewer(format, command);
                        break;
                }
-               case RC_FORMAT: {
+               case RC_FILEFORMAT: {
                        string format, extension, prettyname, shortcut;
                        lexrc >> format >> extension >> prettyname >> shortcut;
                        string viewer, editor;
@@ -1185,6 +1210,11 @@ int LyXRC::read(Lexer & lexrc)
                case RC_SINGLE_CLOSE_TAB_BUTTON:
                        lexrc >> single_close_tab_button;
                        break;
+               case RC_SINGLE_INSTANCE:
+                       lexrc >> single_instance;
+                       if (run_mode == PREFERRED)
+                               run_mode = single_instance ? USE_REMOTE : NEW_INSTANCE;
+                       break;
                case RC_FORWARD_SEARCH_DVI:
                        if (lexrc.next(true)) 
                                forward_search_dvi = lexrc.getString();
@@ -1226,32 +1256,21 @@ int LyXRC::read(Lexer & lexrc)
                        }
                        break;
 
-               // Obsoteted in 1.4.0
-               case RC_USETEMPDIR:
-               // Obsoleted in 2.0
-               case RC_SPELL_COMMAND:
-               case RC_PERS_DICT:
-               case RC_PLAINTEXT_ROFF_COMMAND: 
-               case RC_USE_ALT_LANG:
-               case RC_USE_ESC_CHARS:
-               case RC_USE_INP_ENC:
-               case RC_USE_PERS_DICT:
-               case RC_USE_SPELL_LIB:
-                       LYXERR(Debug::LYXRC, "Skipping obsolete tag `" 
-                              << lexrc.getString() << "'.");
-                       lexrc.next(true);
-                       break;
-
                case RC_LAST:
                        break; // this is just a dummy
                }
+
+               // This is triggered the first time through the loop unless
+               // we hit a format tag.
+               if (check_format && format != LYXRC_FILEFORMAT)
+                       return FormatMismatch;
        }
 
        /// Update converters data-structures
        theConverters().update(formats);
        theConverters().buildGraph();
 
-       return 0;
+       return ReadOK;
 }
 
 
@@ -1314,8 +1333,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
        if (tag == RC_LAST)
                os << "# LyX " << lyx_version
                   << " generated this file. If you want to make your own\n"
-                  << "# modifications you should do them from inside LyX and save.\n"
-                  << "\n";
+                  << "# modifications you should do them from inside LyX and save.\n\n"
+                  << "Format " << LYXRC_FILEFORMAT << "\n\n";
 
        // Why the switch you might ask. It is a trick to ensure that all
        // the elements in the LyXRCTags enum are handled. As you can see
@@ -1326,6 +1345,7 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
        case RC_LAST:
        case RC_INPUT:
                // input/include files are not done here
+       case RC_LYXRCFORMAT:
        case RC_BINDFILE:
                if (ignore_system_lyxrc ||
                    bind_file != system_lyxrc.bind_file) {
@@ -1951,6 +1971,15 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
+       case RC_SINGLE_INSTANCE:
+               if (ignore_system_lyxrc ||
+                   single_instance != system_lyxrc.single_instance) {
+                       os << "\\single_instance "
+                          << convert<string>(single_instance)
+                          << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
        case RC_FORWARD_SEARCH_DVI:
                if (ignore_system_lyxrc ||
                    forward_search_dvi != system_lyxrc.forward_search_dvi) {
@@ -2318,13 +2347,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_USETEMPDIR:
-               if (tag != RC_LAST)
-                       break;
-               // Ignore it
-       case RC_PLAINTEXT_ROFF_COMMAND: // Obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
        case RC_PLAINTEXT_LINELEN:
                if (ignore_system_lyxrc ||
                    plaintext_linelen != system_lyxrc.plaintext_linelen) {
@@ -2363,11 +2385,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                   << "# SPELLCHECKER SECTION ##############################\n"
                   << "#\n\n";
 
-       case RC_SPELL_COMMAND:
-       case RC_USE_SPELL_LIB:
-               // Obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
        case RC_ACCEPT_COMPOUND:
                if (ignore_system_lyxrc ||
                    spellchecker_accept_compound != system_lyxrc.spellchecker_accept_compound) {
@@ -2376,10 +2393,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_USE_ALT_LANG:
-               // Obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
        case RC_ALT_LANG:
                if (ignore_system_lyxrc ||
                    spellchecker_alt_lang != system_lyxrc.spellchecker_alt_lang) {
@@ -2388,9 +2401,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_USE_ESC_CHARS:
-               if (tag != RC_LAST)
-                       break;
        case RC_ESC_CHARS:
                if (ignore_system_lyxrc ||
                    spellchecker_esc_chars != system_lyxrc.spellchecker_esc_chars) {
@@ -2398,10 +2408,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_USE_PERS_DICT:
-               // obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
        case RC_USE_SYSTEM_COLORS:
                if (ignore_system_lyxrc ||
                    use_system_colors != system_lyxrc.use_system_colors) {
@@ -2429,14 +2435,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_PERS_DICT:
-               // obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
-       case RC_USE_INP_ENC:
-               // obsoleted in 2.0
-               if (tag != RC_LAST)
-                       break;
 
                os << "\n#\n"
                   << "# LANGUAGE SUPPORT SECTION ##########################\n"
@@ -2492,10 +2490,10 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_LANGUAGE_PACKAGE:
+       case RC_LANGUAGE_CUSTOM_PACKAGE:
                if (ignore_system_lyxrc ||
-                   language_package != system_lyxrc.language_package) {
-                       os << "\\language_package \"" << language_package
+                   language_custom_package != system_lyxrc.language_custom_package) {
+                       os << "\\language_custom_package \"" << language_custom_package
                           << "\"\n";
                }
                if (tag != RC_LAST)
@@ -2510,12 +2508,24 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
-       case RC_LANGUAGE_USE_BABEL:
+       case RC_LANGUAGE_PACKAGE_SELECTION:
                if (ignore_system_lyxrc ||
-                   language_use_babel != system_lyxrc.language_use_babel) {
-                       os << "\\language_use_babel \""
-                          << convert<string>(language_use_babel)
-                          << "\"\n";
+                   language_package_selection != system_lyxrc.language_package_selection) {
+                       os << "\\language_package_selection ";
+                       switch (language_package_selection) {
+                       case LP_AUTO: 
+                               os << "0\n";
+                               break;
+                       case LP_BABEL:
+                               os << "1\n";
+                               break;
+                       case LP_CUSTOM:
+                               os << "2\n";
+                               break;
+                       case LP_NONE:
+                               os << "3\n";
+                               break;
+                       }
                }
                if (tag != RC_LAST)
                        break;
@@ -2646,7 +2656,7 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                   << "# FORMATS SECTION ##########################\n"
                   << "#\n\n";
 
-       case RC_FORMAT:
+       case RC_FILEFORMAT:
                // New/modified formats
                for (Formats::const_iterator cit = formats.begin();
                     cit != formats.end(); ++cit) {
@@ -2823,7 +2833,6 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_ACCEPT_COMPOUND:
        case LyXRC::RC_ALT_LANG:
        case LyXRC::RC_PLAINTEXT_LINELEN:
-       case LyXRC::RC_PLAINTEXT_ROFF_COMMAND:
        case LyXRC::RC_AUTOCORRECTION_MATH:
        case LyXRC::RC_AUTOREGIONDELETE:
        case LyXRC::RC_AUTORESET_OPTIONS:
@@ -2869,7 +2878,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_ESC_CHARS:
        case LyXRC::RC_EXAMPLEPATH:
        case LyXRC::RC_FONT_ENCODING:
-       case LyXRC::RC_FORMAT:
+       case LyXRC::RC_FILEFORMAT:
        case LyXRC::RC_GROUP_LAYOUTS:
        case LyXRC::RC_HUNSPELLDIR_PATH:
        case LyXRC::RC_INDEX_ALTERNATIVES:
@@ -2887,8 +2896,9 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_LANGUAGE_COMMAND_END:
        case LyXRC::RC_LANGUAGE_COMMAND_LOCAL:
        case LyXRC::RC_LANGUAGE_GLOBAL_OPTIONS:
-       case LyXRC::RC_LANGUAGE_PACKAGE:
-       case LyXRC::RC_LANGUAGE_USE_BABEL:
+       case LyXRC::RC_LANGUAGE_CUSTOM_PACKAGE:
+       case LyXRC::RC_LANGUAGE_PACKAGE_SELECTION:
+       case LyXRC::RC_LYXRCFORMAT:
        case LyXRC::RC_MAC_DONTSWAP_CTRL_META:
        case LyXRC::RC_MAC_LIKE_WORD_MOVEMENT:
        case LyXRC::RC_MACRO_EDIT_STYLE:
@@ -2901,7 +2911,6 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
                if (lyxrc_orig.path_prefix != lyxrc_new.path_prefix) {
                        prependEnvPath("PATH", lyxrc.path_prefix);
                }
-       case LyXRC::RC_PERS_DICT:
        case LyXRC::RC_PREVIEW:
        case LyXRC::RC_PREVIEW_HASHED_LABELS:
        case LyXRC::RC_PREVIEW_SCALE_FACTOR:
@@ -2940,7 +2949,6 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_SET_COLOR:
        case LyXRC::RC_SHOW_BANNER:
        case LyXRC::RC_OPEN_BUFFERS_IN_TABS:
-       case LyXRC::RC_SPELL_COMMAND:
        case LyXRC::RC_SPELLCHECKER:
        case LyXRC::RC_SPELLCHECK_CONTINUOUSLY:
        case LyXRC::RC_SPELLCHECK_NOTES:
@@ -2956,18 +2964,13 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_UIFILE:
        case LyXRC::RC_USER_EMAIL:
        case LyXRC::RC_USER_NAME:
-       case LyXRC::RC_USETEMPDIR:
-       case LyXRC::RC_USE_ALT_LANG:
        case LyXRC::RC_USE_CONVERTER_CACHE:
-       case LyXRC::RC_USE_ESC_CHARS:
-       case LyXRC::RC_USE_INP_ENC:
-       case LyXRC::RC_USE_PERS_DICT:
        case LyXRC::RC_USE_SYSTEM_COLORS:
        case LyXRC::RC_USE_TOOLTIP:
        case LyXRC::RC_USE_PIXMAP_CACHE:
-       case LyXRC::RC_USE_SPELL_LIB:
        case LyXRC::RC_VIEWDVI_PAPEROPTION:
        case LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON:
+       case LyXRC::RC_SINGLE_INSTANCE:
        case LyXRC::RC_SORT_LAYOUTS:
        case LyXRC::RC_FULL_SCREEN_LIMIT:
        case LyXRC::RC_FULL_SCREEN_SCROLLBAR:
@@ -3000,14 +3003,9 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
 
        case RC_ALT_LANG:
-       case RC_USE_ALT_LANG:
                str = _("Specify an alternate language. The default is to use the language of the document.");
                break;
 
-       case RC_PLAINTEXT_ROFF_COMMAND:
-               str = _("Use to define an external program to render tables in plain text output. E.g. \"groff -t -Tlatin1 $$FName\" where $$FName is the input file. If \"\" is specified, an internal routine is used.");
-               break;
-
        case RC_PLAINTEXT_LINELEN:
                str = _("The maximum line length of exported plain text/LaTeX/SGML files. If set to 0, paragraphs are output in a single line; if the line length is > 0, paragraphs are separated by a blank line.");
                break;
@@ -3111,7 +3109,6 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
 
        case RC_ESC_CHARS:
-       case RC_USE_ESC_CHARS:
                str = _("Specify additional chars that can be part of a word.");
                break;
 
@@ -3123,7 +3120,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("The font encoding used for the LaTeX2e fontenc package. T1 is highly recommended for non-English languages.");
                break;
 
-       case RC_FORMAT:
+       case RC_FILEFORMAT:
                break;
 
        case RC_INDEX_COMMAND:
@@ -3171,11 +3168,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("De-select if you don't want the language(s) used as an argument to \\documentclass.");
                break;
 
-       case RC_LANGUAGE_PACKAGE:
+       case RC_LANGUAGE_CUSTOM_PACKAGE:
                str = _("The LaTeX command for loading the language package. E.g. \"\\usepackage{babel}\", \"\\usepackage{omega}\".");
                break;
 
-       case RC_LANGUAGE_USE_BABEL:
+       case RC_LANGUAGE_PACKAGE_SELECTION:
                str = _("De-select if you don't want babel to be used when the language of the document is the default language.");
                break;
 
@@ -3414,9 +3411,6 @@ string const LyXRC::getDescription(LyXRCTags tag)
        case RC_USER_NAME:
                break;
 
-       case RC_USETEMPDIR:
-               break;
-
        case RC_USE_USE_SYSTEM_COLORS:
                str = _("Enable use the system colors for some things like main window background and selection.");
                break;
@@ -3429,9 +3423,6 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("Enable the pixmap cache that might improve performance on Mac and Windows.");
                break;
 
-       case RC_USE_SPELL_LIB:
-               break;
-
        case RC_VIEWDVI_PAPEROPTION:
                _("Specify the paper command to DVI viewer (leave empty or use \"-paper\")");
                break;