Re: [LyX/master] Use string value rather than int for \language_package_selection pref

Udi Fogiel via lyx-devel <[email protected]> Mon, 06 Jul 2026 05:32:00 +0000
Newsgroups gmane.editors.lyx.devel
Message-ID <iDgy3BLReM7LoF9ggoUuHf7nCWvBxZWBU5aLpMSQPViwkZkjk3AqaJUxdZvmH1akx1I032wEu121ODBFcYW71VKPnI9-GOiJVbGgq9nGaao=@proton.me>
On Monday, July 6th, 2026 at 8:21 AM, Jürgen Spitzmüller <[email protected]> wrote:

> 
> Sorry, can't follow. You need to give me a bit more context.
> 

commit d525f108a1a18023b08acde10ec654cd041340a4
Author: Juergen Spitzmueller <[email protected]>
Date:   Fri Apr 24 13:17:18 2026 +0200

    Use string value rather than int for \language_package_selection pref
    
    The int is obscure and bound to result in bugs
---
 lib/configure.py                      |  2 +-
 lib/scripts/prefs2prefs_prefs.py      | 24 ++++++++++++++++++++++-
 src/LaTeXFeatures.cpp                 | 12 ++++--------
 src/LyXRC.cpp                         | 36 +++++------------------------------
 src/LyXRC.h                           |  9 +--------
 src/frontends/qt/GuiPrefs.cpp         | 27 ++++++++++++++------------
 src/frontends/qt/ui/PrefLanguageUi.ui | 22 +--------------------
 7 files changed, 50 insertions(+), 82 deletions(-)


diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp
index 3adc55a119..b26b948139 100644
--- a/src/LyXRC.cpp
+++ b/src/LyXRC.cpp
@@ -60,7 +60,7 @@ namespace {
 
 // The format should also be updated in configure.py, and conversion code
 // should be added to prefs2prefs_prefs.py.
-static unsigned int const LYXRC_FILEFORMAT = 40; // graduate 
\\experimental:bookmark_visibility and change default
+static unsigned int const LYXRC_FILEFORMAT = 41; // Use proper string values 
for \language_package_selection
 // when adding something to this array keep it sorted!
 LexerKeyword lyxrcTags[] = {
        { "\\accept_compound", LyXRC::RC_ACCEPT_COMPOUND },
@@ -830,22 +830,7 @@ LyXRC::ReturnValues LyXRC::read(Lexer & lexrc, bool 
check_format)
                        lexrc >> language_global_options;
                        break;
                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;
-                               }
-                       }
+                       lexrc >> language_package_selection;
                        break;
                case RC_LANGUAGE_COMMAND_BEGIN:
                        lexrc >> language_command_begin;
@@ -2586,21 +2571,10 @@ void LyXRC::write(ostream & os, bool 
ignore_system_lyxrc, string const & name) c
        case RC_LANGUAGE_PACKAGE_SELECTION:
                if (ignore_system_lyxrc ||
                    language_package_selection != 
system_lyxrc.language_package_selection) {
-                       os << "\\language_package_selection ";
-                       switch (language_package_selection) {
-                       case LP_AUTO:
-                               os << "0\n";
+                       os << "\\language_package_selection \""
+                           << language_package_selection
+                           << "\"\n";
                                break; 

Should this break, right above, be removed as well?

-                       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;

-- 
lyx-devel mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-devel