[LyX/master] Use string value rather than int for \language_package_selection pref
Udi Fogiel
udi.fogiel at proton.me
Mon Jul 6 05:32:00 UTC 2026
On Monday, July 6th, 2026 at 8:21 AM, Jürgen Spitzmüller <jspitzm at gmail.com> wrote:
>
> Sorry, can't follow. You need to give me a bit more context.
>
commit d525f108a1a18023b08acde10ec654cd041340a4
Author: Juergen Spitzmueller <sp... at lyx.org>
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;
More information about the lyx-devel
mailing list