From yokota at lyx.org Thu Oct 1 07:54:14 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Thu, 01 Oct 2026 07:54:14 +0000 Subject: [LyX/master] Make variable types explicit and const Message-ID: <8e791c8d914c309c5279d83cd901ce51@lists.lyx.org> commit 6a57f216b320c59e667d76796557896cb1cf837c Author: Koji Yokota Date: Thu Oct 1 16:49:51 2026 +0900 Make variable types explicit and const --- src/frontends/qt/ColorCache.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/frontends/qt/ColorCache.cpp b/src/frontends/qt/ColorCache.cpp index f4c86662d9..aa15ada994 100644 --- a/src/frontends/qt/ColorCache.cpp +++ b/src/frontends/qt/ColorCache.cpp @@ -258,8 +258,8 @@ const QColor qcolorOverlay(const QColor &fg, const QColor &bg) { int red, green, blue, alpha; - auto fg_weight = fg.alphaF(); - auto bg_weight = 1 - fg.alphaF(); + float const fg_weight = fg.alphaF(); + float const bg_weight = 1 - fg.alphaF(); red = std::round((fg_weight*fg.redF() + bg_weight*bg.redF() ) * 255); green = std::round((fg_weight*fg.greenF() + bg_weight*bg.greenF()) * 255); From yokota at lyx.org Thu Oct 1 07:54:14 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Thu, 01 Oct 2026 07:54:14 +0000 Subject: [LyX/master] Fix #13371 (Dark font color in dark mode of non-default themes) Message-ID: commit 38e6901e4e84da1c6874e2d3f1ad7a442f82dd51 Author: Koji Yokota Date: Thu Oct 1 16:43:45 2026 +0900 Fix #13371 (Dark font color in dark mode of non-default themes) Thanks to Pavel! --- src/frontends/qt/ColorCache.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/frontends/qt/ColorCache.cpp b/src/frontends/qt/ColorCache.cpp index 558774b9b7..f4c86662d9 100644 --- a/src/frontends/qt/ColorCache.cpp +++ b/src/frontends/qt/ColorCache.cpp @@ -231,13 +231,13 @@ ARGBColor ColorCache::colorOverlay(ARGBColor const & fg, ARGBColor const & bg) { int red, green, blue, alpha; - auto fg_weight = fg.a; - auto bg_weight = 1 - fg.a; + float const fg_weight = fg.a/255.0; + float const bg_weight = 1 - fg.a/255.0; - red = std::round((fg_weight * fg.r + bg_weight * bg.r) * 255); - green = std::round((fg_weight * fg.g + bg_weight * bg.g) * 255); - blue = std::round((fg_weight*fg.b + bg_weight * bg.b) * 255); - alpha = std::round((1 - (1 - fg.a) * (1 - bg.a) * 255)); + red = std::round(fg_weight * fg.r + bg_weight * bg.r); + green = std::round(fg_weight * fg.g + bg_weight * bg.g); + blue = std::round(fg_weight*fg.b + bg_weight * bg.b); + alpha = std::round(1 - (1 - fg.a) * (1 - bg.a)); return ARGBColor(red, green, blue, alpha); } From yokota at lyx.org Thu Oct 1 07:54:14 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Thu, 01 Oct 2026 07:54:14 +0000 Subject: [LyX/master] Fix a comment Message-ID: commit 20c4a18c5e212399f852bdc7ecd5c83973f083ff Author: Koji Yokota Date: Thu Oct 1 16:52:05 2026 +0900 Fix a comment --- src/frontends/qt/GuiInputMethod.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/frontends/qt/GuiInputMethod.cpp b/src/frontends/qt/GuiInputMethod.cpp index 677d3f99f9..2572e23cb3 100644 --- a/src/frontends/qt/GuiInputMethod.cpp +++ b/src/frontends/qt/GuiInputMethod.cpp @@ -523,13 +523,16 @@ pos_type GuiInputMethod::setTextFormat(const QInputMethodEvent::Attribute & it, // overlay theme's color on char_format's base color // theme's color is the system color if "Use system colors" is checked + // // NOTE: brush size is assumed to be four // if it is to be changed, change the declaration of array in // setPreeditStyle() - // Also, the "if" below doesn't work since QInputMethodEvent::Cursor - // doesn't arrive on time on Linux so d->caret_rel_pos_ can contain - // old information. - // if (it.start == d->caret_rel_pos_) { + // Also, the "if" commented out below doesn't work since + // QInputMethodEvent::Cursor doesn't arrive on time on Linux so + // d->caret_rel_pos_ can contain old information. + // + // if (it.start == d->caret_rel_pos_) { + // if (char_format.background().color() != QColorConstants::Black) { fg = qcolorOverlay(brush[0].color(), im_fg); bg = qcolorOverlay(brush[1].color(), im_bg); From spitz at lyx.org Thu Oct 1 17:09:10 2026 From: spitz at lyx.org (=?utf-8?q?Juergen_Spitzmueller?=) Date: Thu, 01 Oct 2026 17:09:10 +0000 Subject: [LyX/master] Flag string translatable Message-ID: commit 6e41d3aa8dc30b3a338a63187c8e737045110704 Author: Juergen Spitzmueller Date: Thu Oct 1 19:08:34 2026 +0200 Flag string translatable Thanks to vidon for the hint --- src/frontends/qt/ui/RefUi.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontends/qt/ui/RefUi.ui b/src/frontends/qt/ui/RefUi.ui index a0158b15f2..20127f08bb 100644 --- a/src/frontends/qt/ui/RefUi.ui +++ b/src/frontends/qt/ui/RefUi.ui @@ -180,7 +180,7 @@ - Label + Label From spitz at lyx.org Thu Oct 1 17:11:35 2026 From: spitz at lyx.org (=?utf-8?q?Juergen_Spitzmueller?=) Date: Thu, 01 Oct 2026 17:11:35 +0000 Subject: [LyX/2.5.x] Flag string translatable Message-ID: <638c910575e3369b482a71a62fa79d40@lists.lyx.org> commit 4a4f4e3f83f092be81ac3d1452532bad0e9856a7 Author: Juergen Spitzmueller Date: Thu Oct 1 19:11:21 2026 +0200 Flag string translatable Thanks to vidon for the hint --- src/frontends/qt/ui/RefUi.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/frontends/qt/ui/RefUi.ui b/src/frontends/qt/ui/RefUi.ui index a0158b15f2..20127f08bb 100644 --- a/src/frontends/qt/ui/RefUi.ui +++ b/src/frontends/qt/ui/RefUi.ui @@ -180,7 +180,7 @@ - Label + Label From yokota at lyx.org Mon Oct 5 04:55:04 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Mon, 05 Oct 2026 04:55:04 +0000 Subject: [LyX/master] Update Japanese example file for knitr Message-ID: <36cb62c30672c0b0cc65547ce85a214a@lists.lyx.org> commit 6326a541f02ccb4c8a100cc2c32b70b899c7e283 Author: Koji Yokota Date: Mon Oct 5 13:54:56 2026 +0900 Update Japanese example file for knitr --- lib/examples/ja/Modules/Rnw_%28knitr%29.lyx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx b/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx index ebdbe142f3..2d32ced0b2 100644 --- a/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx +++ b/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx @@ -4,22 +4,22 @@ \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/Modules/ -\textclass bxjsarticle +\textclass jarticle \use_default_options true \begin_modules knitr \end_modules \maintain_unincluded_children no \language japanese -\language_package default +\language_package none \inputencoding utf8 \fontencoding auto -\font_roman "palatino" "IPAexMincho" +\font_roman "default" "IPAexMincho" \font_sans "default" "IPAexGothic" \font_typewriter "default" "IPAGothic" \font_math "auto" "auto" \font_default_family default -\use_non_tex_fonts true +\use_non_tex_fonts false \font_sc false \font_roman_osf false \font_sans_osf false @@ -33,6 +33,8 @@ knitr \output_sync 0 \bibtex_command default \index_command default +\float_placement class +\float_alignment class \paperfontsize default \spacing single \use_hyperref false From lasgouttes at lyx.org Mon Oct 5 15:54:12 2026 From: lasgouttes at lyx.org (=?utf-8?q?Jean-Marc_Lasgouttes?=) Date: Mon, 05 Oct 2026 15:54:12 +0000 Subject: [LyX/master] typo in Beamer.lyx Message-ID: <1fd2d6e8c366c119b1b6375f6bc37814@lists.lyx.org> commit 03d99593374acc71079c0df31e0ca6c6750e7fef Author: Jean-Marc Lasgouttes Date: Mon Oct 5 17:53:57 2026 +0200 typo in Beamer.lyx --- lib/examples/Presentations/Beamer.lyx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/examples/Presentations/Beamer.lyx b/lib/examples/Presentations/Beamer.lyx index c7ce41d44b..c27892034e 100644 --- a/lib/examples/Presentations/Beamer.lyx +++ b/lib/examples/Presentations/Beamer.lyx @@ -1,5 +1,5 @@ -#LyX 2.5 created this file. For more info see https://www.lyx.org/ -\lyxformat 643 +#LyX 2.6 created this file. For more info see https://www.lyx.org/ +\lyxformat 660 \begin_document \begin_header \save_transient_properties true @@ -39,6 +39,7 @@ \use_hyperref false \papersize default \use_geometry true +\use_package aligned-overset 0 \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 @@ -71,12 +72,13 @@ \table_alt_row_colors_start 1 \index Index \shortcut idx -\color #008000 +\color #ff008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default +\parfillskip "default" "" \is_math_indent 0 \math_numbering_side default \quotes_style english @@ -4405,7 +4407,7 @@ literal "false" \end_layout \begin_layout Itemize -If you still are not satisified or if you need a theme matching to your University's or company's corporate design, +If you still are not satisfied or if you need a theme matching to your University's or company's corporate design, the \begin_inset Flex Structure status collapsed From sanda at lyx.org Mon Oct 5 20:07:56 2026 From: sanda at lyx.org (=?utf-8?q?Pavel_Sanda?=) Date: Mon, 05 Oct 2026 20:07:56 +0000 Subject: [LyX/master] Drop the cygdrive probe Message-ID: commit 17b0b6b0c43b75a3f1ad3941182a7e98184bad4a Author: Pavel Sanda Date: Mon Oct 5 21:18:00 2026 +0200 Drop the cygdrive probe At startup LyX asked an installed Cygwin where it maps the Windows drives, by running its mount.exe through the command interpreter. The answer is only ever used when writing posix style paths into LaTeX files, i.e. when a native Windows LyX drives a Cygwin TeX. Cygwin has exposed the prefix as the symlink /proc/cygdrive since 1.7.33 (November 2014), so the question does not need asking at all. Using that path keeps working for whatever the user set with mount --change-cygdrive-prefix, and nothing gets spawned. Drops runComspec() (previous runCommand() which moved here just for this caller). Reviewed by Enrico. Tier 01 DiD / argv 09: one COMSPEC caller less on Windows https://www.mail-archive.com/lyx-devel at lists.lyx.org/msg226967.html Assisted-by: Claude Opus 5 --- src/support/os_win32.cpp | 148 ++--------------------------------------------- 1 file changed, 6 insertions(+), 142 deletions(-) diff --git a/src/support/os_win32.cpp b/src/support/os_win32.cpp index bacb905b52..4ea4855005 100644 --- a/src/support/os_win32.cpp +++ b/src/support/os_win32.cpp @@ -32,21 +32,17 @@ #include "support/lassert.h" -#include #include -#include // memset #include #include #include #include -#include // _O_RDONLY #include // _getdrive #include // GetFinalPathNameByHandle #include // SHGetFolderPath #include -#include #include #include @@ -91,102 +87,14 @@ wchar_t ** argv_ = 0; bool windows_style_tex_paths_ = true; -string cygdrive = "/cygdrive"; +// The prefix a Cygwin installation maps the Windows drives under, used +// when writing posix style paths into LaTeX files for a Cygwin TeX. +// Cygwin keeps /proc/cygdrive as a symlink to the prefix actually in +// use, so there is nothing to ask it about: this covers whatever the +// user set with mount --change-cygdrive-prefix. +string const cygdrive = "/proc/cygdrive"; -// Run cmd through COMSPEC and return its standard output in result, -// the return value tells whether the command exited successfully. -// -// Relic of the former cross-platform support::runCommand() and it spawns -// a shell, so you need be extra careful about safety of the arguments. -// Preferably do not add new callers of this function - we have generic -// Systemcall and this is used only in init() before QCoreApplication -// kicks in. -bool runComspec(string const & cmd, string & result) -{ - result.clear(); - - if (verbose) - lyxerr << "\nRunning: " << cmd << endl; - else - LYXERR(Debug::INFO,"Running: " << cmd); - - STARTUPINFO startup; - PROCESS_INFORMATION process; - SECURITY_ATTRIBUTES security; - HANDLE in, out; - FILE * inf = 0; - bool err2out = false; - string command; - string const infile = trim(split(cmd, command, '<'), " \""); - command = rtrim(command); - if (suffixIs(command, "2>&1")) { - command = rtrim(command, "2>&1"); - err2out = true; - } - string const cmdarg = "/d /c \"" + command + "\""; - string const comspec = getEnv("COMSPEC"); - - security.nLength = sizeof(SECURITY_ATTRIBUTES); - security.bInheritHandle = TRUE; - security.lpSecurityDescriptor = NULL; - - if (CreatePipe(&in, &out, &security, 0)) { - memset(&startup, 0, sizeof(STARTUPINFO)); - memset(&process, 0, sizeof(PROCESS_INFORMATION)); - - startup.cb = sizeof(STARTUPINFO); - startup.dwFlags = STARTF_USESTDHANDLES; - - startup.hStdError = err2out ? out : GetStdHandle(STD_ERROR_HANDLE); - startup.hStdInput = infile.empty() - ? GetStdHandle(STD_INPUT_HANDLE) - : CreateFile(infile.c_str(), GENERIC_READ, - FILE_SHARE_READ, &security, OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, NULL); - startup.hStdOutput = out; - - if (startup.hStdInput != INVALID_HANDLE_VALUE && - CreateProcess(comspec.c_str(), (LPTSTR)cmdarg.c_str(), - &security, &security, TRUE, CREATE_NO_WINDOW, - 0, 0, &startup, &process)) { - - CloseHandle(process.hThread); - int fno = _open_osfhandle((intptr_t)in, _O_RDONLY); - CloseHandle(out); - inf = _fdopen(fno, "r"); - } - } - - if (!inf) { - lyxerr << "RunCommand: could not start child process" << endl; - return false; - } - - int c = fgetc(inf); - while (c != EOF) { - result += static_cast(c); - c = fgetc(inf); - } - - WaitForSingleObject(process.hProcess, INFINITE); - DWORD pret; - BOOL success = GetExitCodeProcess(process.hProcess, &pret); - bool valid = (pret == 0) && success; - if (!success) - pret = -1; - if (!infile.empty()) - CloseHandle(startup.hStdInput); - CloseHandle(process.hProcess); - if (fclose(inf) != 0) - pret = -1; - - if (pret == -1) - perror("RunCommand: could not terminate child process"); - - return valid; -} - BOOL terminate_handler(DWORD event) { if (event == CTRL_CLOSE_EVENT @@ -290,50 +198,6 @@ void init(int argc, char ** argv[]) #endif LATTEST(argc == argc_); - // If Cygwin is detected, query the cygdrive prefix. - // The cygdrive prefix is needed for translating windows style paths - // to posix style paths in LaTeX files when the Cygwin teTeX is used. - int i; - HKEY hkey; - char buf[MAX_PATH]; - DWORD bufsize = sizeof(buf); - LONG retval = ERROR_FILE_NOT_FOUND; - HKEY const mainkey[2] = { HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER }; - char const * const subkey[2] = { - "Software\\Cygwin\\setup", // Cygwin 1.7 - "Software\\Cygnus Solutions\\Cygwin\\mounts v2\\/" // Prev. ver. - }; - char const * const valuename[2] = { - "rootdir", // Cygwin 1.7 or later - "native" // Previous versions - }; - // Check for newer Cygwin versions first, then older ones - for (i = 0; i < 2 && retval != ERROR_SUCCESS; ++i) { - for (int k = 0; k < 2 && retval != ERROR_SUCCESS; ++k) - retval = RegOpenKey(mainkey[k], subkey[i], &hkey); - } - if (retval == ERROR_SUCCESS) { - // Query the Cygwin root directory - retval = RegQueryValueEx(hkey, valuename[i - 1], - NULL, NULL, (LPBYTE) buf, &bufsize); - RegCloseKey(hkey); - string const mount = string(buf) + "\\bin\\mount.exe"; - if (retval == ERROR_SUCCESS && FileName(mount).exists()) { - string result; - bool const valid = runComspec( - mount + " --show-cygdrive-prefix", result); - // The output of the mount command is as follows: - // Prefix Type Flags - // /cygdrive system binmode - // So, we use the inner split to pass the second line - // to the outer split which sets cygdrive with its - // contents until the first blank, discarding the - // unneeded return value. - if (valid && prefixIs(result, "Prefix")) - split(split(result, '\n'), cygdrive, ' '); - } - } - // Catch shutdown events. SetConsoleCtrlHandler((PHANDLER_ROUTINE)terminate_handler, TRUE); } From yokota at lyx.org Tue Oct 6 08:38:13 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 08:38:13 +0000 Subject: [LyX/master] Bump up the format number to incorporate the shift toward uplatex Message-ID: <0a45e0220420588893199083598d9a93@lists.lyx.org> commit 02634f936ad3f38f214166ce03e88ef1847be6c9 Author: Koji Yokota Date: Tue Oct 6 17:37:31 2026 +0900 Bump up the format number to incorporate the shift toward uplatex --- lib/lyx2lyx/lyx_2_6.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++++-- src/version.h | 4 ++-- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_6.py b/lib/lyx2lyx/lyx_2_6.py index eff5237f6f..e70135fdbc 100644 --- a/lib/lyx2lyx/lyx_2_6.py +++ b/lib/lyx2lyx/lyx_2_6.py @@ -37,7 +37,9 @@ import unicodedata from lyx2lyx_tools import ( add_to_preamble, latex_length, - put_cmd_in_ert + put_cmd_in_ert, + insert_document_option, + remove_document_option ) # Uncomment only what you need to import, please (parser_tools): @@ -2060,6 +2062,51 @@ def revert_alltt(document): document.body[i] = "\\begin_layout LyX-Code" +def convert_uplatex(document): + """Convert platex documents to uplatex ones""" + # standard japanese text styles + standard_classes = [ + "jarticle", "jreport", "jbook", "tarticle", "treport", "tbook" + ] + newer_classes = [ + # jsclasses + "jsarticle", "jsreport", "jsbook", + + # BXjscls + "bxjsarticle", "bxjsreport", "bxjsbook", "bxjsslide", + + # jlreq + "jlreq" + ] + if document.textclass in standard_classes: + document.textclass = "u" + document.textclass + elif document.textclass in newer_classes: + insert_document_option(document, "uplatex") + +def revert_uplatex(document): + """Revert uplatex documents to platex ones""" + print("test") + standard_classes = [ + "ujarticle", "ujreport", "ujbook", "utarticle", "utreport", "utbook" + ] + newer_classes = [ + # jsclasses + "jsarticle", "jsreport", "jsbook", + + # BXjscls + "bxjsarticle", "bxjsreport", "bxjsbook", "bxjsslide", + + # jlreq + "jlreq" + ] + if document.textclass in standard_classes: + tmp = document.textclass + print(tmp) + document.textclass = tmp.removeprefix("u") + # document.textclass = document.textclass.lstrip("u") + elif document.textclass in newer_classes: + remove_document_option(document, "uplatex") + ## # Conversion hub # @@ -2082,11 +2129,13 @@ convert = [ [657, [convert_svmatters]], [658, [convert_use_alignedoverset, convert_alignedoverset_body]], [659, []], - [660, [convert_lyxcode]] + [660, [convert_lyxcode]], + [661, [convert_uplatex]] ] revert = [ + [660, [revert_uplatex]], [659, [revert_alltt, revert_lyxcode]], [658, [revert_mathjax]], [657, [revert_use_alignedoverset]], diff --git a/src/version.h b/src/version.h index 51f66629ad..2e1a907994 100644 --- a/src/version.h +++ b/src/version.h @@ -32,8 +32,8 @@ extern char const * const lyx_version_info; // Do not remove the comment below, so we get merge conflict in // independent branches. Instead add your own. -#define LYX_FORMAT_LYX 660 // spitz: ditch LyXCode -#define LYX_FORMAT_TEX2LYX 660 +#define LYX_FORMAT_LYX 661 // koji: jarticle to ujarticle +#define LYX_FORMAT_TEX2LYX 661 #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX #ifndef _MSC_VER From yokota at lyx.org Tue Oct 6 10:26:25 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 10:26:25 +0000 Subject: [LyX/master] Update jsclass layout files to adapt to uplatex Message-ID: <96cd2217f7fd9f80aacc195444be8b2b@lists.lyx.org> commit 2df6357d091bcbd2f8f0879aabe8f5ab1fab2ff8 Author: Koji Yokota Date: Tue Oct 6 18:42:39 2026 +0900 Update jsclass layout files to adapt to uplatex --- lib/layouts/jsarticle.layout | 6 +++++- lib/layouts/jsbook.layout | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/layouts/jsarticle.layout b/lib/layouts/jsarticle.layout index 048bdcee13..9bb7279612 100644 --- a/lib/layouts/jsarticle.layout +++ b/lib/layouts/jsarticle.layout @@ -2,11 +2,15 @@ # \DeclareLaTeXClass{Japanese Article (JS Bundle)} # \DeclareCategory{Articles} # Japanese new standard article textclass definition file. -# Author : Koji Yokota (yokota6 at gmail.com) +# Author : Koji Yokota (yokota at lyx.org) # This style provides japanese features Format 120 Provides japanese 1 +ClassOptions + Other "uplatex" +End + # Input general definitions Input article.layout diff --git a/lib/layouts/jsbook.layout b/lib/layouts/jsbook.layout index 8ee562359c..d96cb0ca5d 100644 --- a/lib/layouts/jsbook.layout +++ b/lib/layouts/jsbook.layout @@ -2,11 +2,15 @@ # \DeclareLaTeXClass{Japanese Book (JS Bundle)} # \DeclareCategory{Books} # Japanese new standard book textclass definition file. -# Author : Koji Yokota (yokota6 at gmail.com) +# Author : Koji Yokota (yokota at lyx.org) # This style provides japanese features Format 120 Provides japanese 1 +ClassOptions + Other "uplatex" +End + # Input general definitions Input book.layout From yokota at lyx.org Tue Oct 6 10:26:25 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 10:26:25 +0000 Subject: [LyX/master] Add jsreport class, a family of jsclasses, which had been forgotten Message-ID: <7e3b275f42c2154fc14668c3cee54a07@lists.lyx.org> commit abe81b1d0e2440dc6621e1fba2a5edec8e33a3fd Author: Koji Yokota Date: Tue Oct 6 18:48:32 2026 +0900 Add jsreport class, a family of jsclasses, which had been forgotten --- lib/layouts/jsreport.layout | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/layouts/jsreport.layout b/lib/layouts/jsreport.layout new file mode 100644 index 0000000000..906c320495 --- /dev/null +++ b/lib/layouts/jsreport.layout @@ -0,0 +1,16 @@ +#% Do not delete the line below; configure depends on this +# \DeclareLaTeXClass{Japanese Report (JS Bundle)} +# \DeclareCategory{Reports} +# Japanese new standard article textclass definition file. +# Author : Koji Yokota (yokota at lyx.org) + +# This style provides japanese features +Format 120 +Provides japanese 1 + +ClassOptions + Other "uplatex" +End + +# Input general definitions +Input report.layout From yokota at lyx.org Tue Oct 6 10:26:26 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 10:26:26 +0000 Subject: [LyX/master] Remove layouts that can automatically adapt to uplatex from commit 02634f93 Message-ID: <38ad50233637f1ddf4e0cd2495d65c52@lists.lyx.org> commit 94bd04b1905c212bcf69e15472dd7361f1d00f73 Author: Koji Yokota Date: Tue Oct 6 19:00:13 2026 +0900 Remove layouts that can automatically adapt to uplatex from commit 02634f93 --- lib/lyx2lyx/lyx_2_6.py | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_6.py b/lib/lyx2lyx/lyx_2_6.py index e70135fdbc..10dfbf59c7 100644 --- a/lib/lyx2lyx/lyx_2_6.py +++ b/lib/lyx2lyx/lyx_2_6.py @@ -2068,19 +2068,10 @@ def convert_uplatex(document): standard_classes = [ "jarticle", "jreport", "jbook", "tarticle", "treport", "tbook" ] - newer_classes = [ - # jsclasses - "jsarticle", "jsreport", "jsbook", - - # BXjscls - "bxjsarticle", "bxjsreport", "bxjsbook", "bxjsslide", - - # jlreq - "jlreq" - ] + jsclasses = [ "jsarticle", "jsreport", "jsbook" ] if document.textclass in standard_classes: document.textclass = "u" + document.textclass - elif document.textclass in newer_classes: + elif document.textclass in jsclasses: insert_document_option(document, "uplatex") def revert_uplatex(document): @@ -2089,22 +2080,13 @@ def revert_uplatex(document): standard_classes = [ "ujarticle", "ujreport", "ujbook", "utarticle", "utreport", "utbook" ] - newer_classes = [ - # jsclasses - "jsarticle", "jsreport", "jsbook", - - # BXjscls - "bxjsarticle", "bxjsreport", "bxjsbook", "bxjsslide", - - # jlreq - "jlreq" - ] + jsclasses = [ "jsarticle", "jsreport", "jsbook" ] if document.textclass in standard_classes: tmp = document.textclass print(tmp) document.textclass = tmp.removeprefix("u") # document.textclass = document.textclass.lstrip("u") - elif document.textclass in newer_classes: + elif document.textclass in jsclasses: remove_document_option(document, "uplatex") ## From yokota at lyx.org Tue Oct 6 10:26:26 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 10:26:26 +0000 Subject: [LyX/master] Update some japanese example files to resolve font problems Message-ID: commit 0f7117f517332d944e00cf93a8c5037f59684e30 Author: Koji Yokota Date: Tue Oct 6 19:25:01 2026 +0900 Update some japanese example files to resolve font problems --- lib/examples/ja/Modules/Linguistics.lyx | 10 ++++++---- lib/examples/ja/Modules/Multilingual_Captions.lyx | 13 ++++++++----- lib/examples/ja/Modules/Sweave.lyx | 18 +++++++++++------- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lib/examples/ja/Modules/Linguistics.lyx b/lib/examples/ja/Modules/Linguistics.lyx index ab0b565365..ea2289c2e4 100644 --- a/lib/examples/ja/Modules/Linguistics.lyx +++ b/lib/examples/ja/Modules/Linguistics.lyx @@ -1,10 +1,10 @@ #LyX 2.6 created this file. For more info see https://www.lyx.org/ -\lyxformat 648 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/Modules/ -\textclass article +\textclass bxjsarticle \begin_preamble %% Uncomment the following for Tableaux captions on top: %\floatstyle{plaintop} @@ -49,7 +49,7 @@ End \language_package none \inputencoding utf8 \fontencoding auto -\font_roman "lmodern" "default" +\font_roman "default" "default" \font_sans "default" "default" \font_typewriter "default" "default" \font_math "auto" "auto" @@ -84,6 +84,7 @@ End \pdf_pdfusetitle true \papersize default \use_geometry false +\use_package aligned-overset 0 \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 @@ -116,12 +117,13 @@ End \table_alt_row_colors_start 1 \index ?? \shortcut idx -\color #008000 +\color #ff008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default +\parfillskip "default" "" \is_math_indent 0 \math_numbering_side default \quotes_style english diff --git a/lib/examples/ja/Modules/Multilingual_Captions.lyx b/lib/examples/ja/Modules/Multilingual_Captions.lyx index 9a2a93d083..a7fc36ffad 100644 --- a/lib/examples/ja/Modules/Multilingual_Captions.lyx +++ b/lib/examples/ja/Modules/Multilingual_Captions.lyx @@ -1,5 +1,5 @@ -#LyX 2.5 created this file. For more info see https://www.lyx.org/ -\lyxformat 643 +#LyX 2.6 created this file. For more info see https://www.lyx.org/ +\lyxformat 661 \begin_document \begin_header \save_transient_properties true @@ -33,7 +33,7 @@ bicaption \language_package default \inputencoding utf8 \fontencoding auto -\font_roman "lmodern" "IPAexMincho" +\font_roman "default" "IPAexMincho" \font_sans "default" "IPAexGothic" \font_typewriter "default" "IPAGothic" \font_math "auto" "auto" @@ -53,6 +53,7 @@ bicaption \bibtex_command default \index_command default \float_placement h +\float_alignment class \paperfontsize 12 \spacing single \use_hyperref true @@ -68,6 +69,7 @@ bicaption \pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue" \papersize default \use_geometry false +\use_package aligned-overset 0 \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 @@ -101,12 +103,13 @@ bicaption \table_alt_row_colors_start 1 \index Index \shortcut idx -\color #008000 +\color #ff008000 \end_index \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \paragraph_indentation default +\parfillskip "default" "" \is_math_indent 0 \math_numbering_side default \quotes_style english @@ -863,7 +866,7 @@ literal "true" \end_layout \begin_layout Standard -\begin_inset Newpage newpage +\begin_inset Textbreak newpage \end_inset diff --git a/lib/examples/ja/Modules/Sweave.lyx b/lib/examples/ja/Modules/Sweave.lyx index 1671ccbce4..d8c32258fc 100644 --- a/lib/examples/ja/Modules/Sweave.lyx +++ b/lib/examples/ja/Modules/Sweave.lyx @@ -1,5 +1,5 @@ -#LyX 2.5 created this file. For more info see https://www.lyx.org/ -\lyxformat 643 +#LyX 2.6 created this file. For more info see https://www.lyx.org/ +\lyxformat 661 \begin_document \begin_header \save_transient_properties true @@ -26,12 +26,12 @@ sweave \language_package none \inputencoding utf8 \fontencoding auto -\font_roman "palatino" "IPAexMincho" -\font_sans "default" "IPAexGothic" -\font_typewriter "default" "IPAGothic" +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default -\use_non_tex_fonts true +\use_non_tex_fonts false \font_sc false \font_roman_osf false \font_sans_osf false @@ -45,11 +45,14 @@ sweave \output_sync 0 \bibtex_command default \index_command default +\float_placement class +\float_alignment class \paperfontsize default \spacing single \use_hyperref false \papersize default \use_geometry true +\use_package aligned-overset 0 \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 @@ -82,7 +85,7 @@ sweave \table_alt_row_colors_start 1 \index Index \shortcut idx -\color #008000 +\color #ff008000 \end_index \leftmargin 3cm \topmargin 3cm @@ -92,6 +95,7 @@ sweave \tocdepth 3 \paragraph_separation indent \paragraph_indentation default +\parfillskip "default" "" \is_math_indent 0 \math_numbering_side default \quotes_style english From yokota at lyx.org Tue Oct 6 13:19:00 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 13:19:00 +0000 Subject: [LyX/master] Update ja.po Message-ID: <4715ee5d97e14847bf47b6b75b9b4066@lists.lyx.org> commit 759f7d9260bcce0d6c9b2bdbc055e6cf19fce39d Author: Koji Yokota Date: Mon Oct 5 13:58:29 2026 +0900 Update ja.po --- po/ja.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/ja.po b/po/ja.po index d6eab7aae9..e33bb06f0e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: lyx-japanese\n" "Report-Msgid-Bugs-To: lyx-devel at lists.lyx.org\n" "POT-Creation-Date: 2026-09-23 10:22+0900\n" -"PO-Revision-Date: 2026-09-23 10:22+0900\n" +"PO-Revision-Date: 2026-10-05 13:58+0900\n" "Last-Translator: Koji Yokota \n" "Language-Team: Japanese\n" "Language: ja\n" @@ -31373,7 +31373,7 @@ msgstr "??????(E)|E" #: lib/ui/stdmenus.inc:579 msgid "Cancel Export|P" -msgstr "?????????(&P)" +msgstr "?????????(&P)|P" #: lib/ui/stdmenus.inc:581 msgid "Change Tracking|C" From yokota at lyx.org Tue Oct 6 13:24:56 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Tue, 06 Oct 2026 13:24:56 +0000 Subject: [LyX/master] Cleaning up garbages Message-ID: <5eaa2a90568589e87800fd947202d5fe@lists.lyx.org> commit 76e47e4c943e97750705c019c2d38bd6bfa4ca60 Author: Koji Yokota Date: Tue Oct 6 22:24:53 2026 +0900 Cleaning up garbages --- lib/lyx2lyx/lyx_2_6.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/lyx2lyx/lyx_2_6.py b/lib/lyx2lyx/lyx_2_6.py index 10dfbf59c7..6310ff4159 100644 --- a/lib/lyx2lyx/lyx_2_6.py +++ b/lib/lyx2lyx/lyx_2_6.py @@ -2076,16 +2076,12 @@ def convert_uplatex(document): def revert_uplatex(document): """Revert uplatex documents to platex ones""" - print("test") standard_classes = [ "ujarticle", "ujreport", "ujbook", "utarticle", "utreport", "utbook" ] jsclasses = [ "jsarticle", "jsreport", "jsbook" ] if document.textclass in standard_classes: - tmp = document.textclass - print(tmp) - document.textclass = tmp.removeprefix("u") - # document.textclass = document.textclass.lstrip("u") + document.textclass = document.textclass.removeprefix("u") elif document.textclass in jsclasses: remove_document_option(document, "uplatex") From skostysh at lyx.org Tue Oct 6 18:05:47 2026 From: skostysh at lyx.org (=?utf-8?q?Scott_Kostyshak?=) Date: Tue, 06 Oct 2026 18:05:47 +0000 Subject: [LyX/master] Update tex2lyx test files after format change Message-ID: commit 95f2da0c0f16977134a216f87ed88a243eb949c5 Author: Scott Kostyshak Date: Tue Oct 6 20:05:07 2026 +0200 Update tex2lyx test files after format change --- src/tex2lyx/test/CJK.lyx.lyx | 2 +- src/tex2lyx/test/CJKutf8.lyx.lyx | 2 +- src/tex2lyx/test/DummyDocument.lyx.lyx | 2 +- src/tex2lyx/test/Dummy~Document.lyx.lyx | 2 +- src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx | 2 +- src/tex2lyx/test/algo2e.lyx.lyx | 2 +- src/tex2lyx/test/beamer.lyx.lyx | 2 +- src/tex2lyx/test/box-color-size-space-align.lyx.lyx | 2 +- src/tex2lyx/test/listpreamble.lyx.lyx | 2 +- src/tex2lyx/test/tabular-x-test.lyx.lyx | 2 +- src/tex2lyx/test/test-insets-basic.lyx.lyx | 2 +- src/tex2lyx/test/test-insets.lyx.lyx | 2 +- src/tex2lyx/test/test-memoir.lyx.lyx | 2 +- src/tex2lyx/test/test-minted.lyx.lyx | 2 +- src/tex2lyx/test/test-modules.lyx.lyx | 2 +- src/tex2lyx/test/test-refstyle-theorems.lyx.lyx | 2 +- src/tex2lyx/test/test-scr.lyx.lyx | 2 +- src/tex2lyx/test/test-structure.lyx.lyx | 2 +- src/tex2lyx/test/test.lyx.lyx | 2 +- src/tex2lyx/test/verbatim.lyx.lyx | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx index 13d2f84d9c..148e8f4ff8 100644 --- a/src/tex2lyx/test/CJK.lyx.lyx +++ b/src/tex2lyx/test/CJK.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx index 3644c0082e..259a49e31c 100644 --- a/src/tex2lyx/test/CJKutf8.lyx.lyx +++ b/src/tex2lyx/test/CJKutf8.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx b/src/tex2lyx/test/DummyDocument.lyx.lyx index ad7d971400..a84a6d20c7 100644 --- a/src/tex2lyx/test/DummyDocument.lyx.lyx +++ b/src/tex2lyx/test/DummyDocument.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx b/src/tex2lyx/test/Dummy~Document.lyx.lyx index 61c59a1309..606e6d20b6 100644 --- a/src/tex2lyx/test/Dummy~Document.lyx.lyx +++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx index 638263056e..0fe71deda4 100644 --- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx +++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx index d3d35aae02..7a59b767f9 100644 --- a/src/tex2lyx/test/algo2e.lyx.lyx +++ b/src/tex2lyx/test/algo2e.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/beamer.lyx.lyx b/src/tex2lyx/test/beamer.lyx.lyx index 88b2ec94db..714b13d1b1 100644 --- a/src/tex2lyx/test/beamer.lyx.lyx +++ b/src/tex2lyx/test/beamer.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx index a7b1dac1e4..bdca106d91 100644 --- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx +++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/listpreamble.lyx.lyx b/src/tex2lyx/test/listpreamble.lyx.lyx index 3be7d07a3b..7b336b0ed5 100644 --- a/src/tex2lyx/test/listpreamble.lyx.lyx +++ b/src/tex2lyx/test/listpreamble.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/tabular-x-test.lyx.lyx b/src/tex2lyx/test/tabular-x-test.lyx.lyx index 48a032c2b4..2f85680cac 100644 --- a/src/tex2lyx/test/tabular-x-test.lyx.lyx +++ b/src/tex2lyx/test/tabular-x-test.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx b/src/tex2lyx/test/test-insets-basic.lyx.lyx index af8ed8a914..9b83d21ae1 100644 --- a/src/tex2lyx/test/test-insets-basic.lyx.lyx +++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-insets.lyx.lyx b/src/tex2lyx/test/test-insets.lyx.lyx index 8be91e9822..9febfcbc5d 100644 --- a/src/tex2lyx/test/test-insets.lyx.lyx +++ b/src/tex2lyx/test/test-insets.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx b/src/tex2lyx/test/test-memoir.lyx.lyx index b96d8b793d..6f51a90391 100644 --- a/src/tex2lyx/test/test-memoir.lyx.lyx +++ b/src/tex2lyx/test/test-memoir.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-minted.lyx.lyx b/src/tex2lyx/test/test-minted.lyx.lyx index d4d0005c3a..ab298a3533 100644 --- a/src/tex2lyx/test/test-minted.lyx.lyx +++ b/src/tex2lyx/test/test-minted.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-modules.lyx.lyx b/src/tex2lyx/test/test-modules.lyx.lyx index 4032cf70a7..5e055b9f08 100644 --- a/src/tex2lyx/test/test-modules.lyx.lyx +++ b/src/tex2lyx/test/test-modules.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx index 7913eb2134..883f1027a1 100644 --- a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx +++ b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-scr.lyx.lyx b/src/tex2lyx/test/test-scr.lyx.lyx index 0f1cbb97a0..5d8e719aae 100644 --- a/src/tex2lyx/test/test-scr.lyx.lyx +++ b/src/tex2lyx/test/test-scr.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx index 150e04c2ee..74c8db74a0 100644 --- a/src/tex2lyx/test/test-structure.lyx.lyx +++ b/src/tex2lyx/test/test-structure.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx index cb8b8100e2..7283be7f08 100644 --- a/src/tex2lyx/test/test.lyx.lyx +++ b/src/tex2lyx/test/test.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true diff --git a/src/tex2lyx/test/verbatim.lyx.lyx b/src/tex2lyx/test/verbatim.lyx.lyx index c787036f32..7b7315eb6c 100644 --- a/src/tex2lyx/test/verbatim.lyx.lyx +++ b/src/tex2lyx/test/verbatim.lyx.lyx @@ -1,5 +1,5 @@ #LyX file created by tex2lyx 2.6 -\lyxformat 660 +\lyxformat 661 \begin_document \begin_header \save_transient_properties true From yokota at lyx.org Wed Oct 7 00:49:51 2026 From: yokota at lyx.org (=?utf-8?q?Koji_Yokota?=) Date: Wed, 07 Oct 2026 00:49:51 +0000 Subject: [LyX/master] Make the knitr example file compilable with XeTeX Message-ID: <00a09cf0483bf42d439f1c56f1ddb4a5@lists.lyx.org> commit 22ccac391b5bbae4adfb22e5c7804650380f9d34 Author: Koji Yokota Date: Wed Oct 7 09:48:56 2026 +0900 Make the knitr example file compilable with XeTeX --- lib/examples/ja/Modules/Rnw_%28knitr%29.lyx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx b/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx index 2d32ced0b2..972b961d17 100644 --- a/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx +++ b/lib/examples/ja/Modules/Rnw_%28knitr%29.lyx @@ -1,10 +1,10 @@ -#LyX 2.5 created this file. For more info see https://www.lyx.org/ -\lyxformat 643 +#LyX 2.6 created this file. For more info see https://www.lyx.org/ +\lyxformat 661 \begin_document \begin_header \save_transient_properties true \origin /systemlyxdir/examples/ja/Modules/ -\textclass jarticle +\textclass bxjsarticle \use_default_options true \begin_modules knitr @@ -14,9 +14,9 @@ knitr \language_package none \inputencoding utf8 \fontencoding auto -\font_roman "default" "IPAexMincho" -\font_sans "default" "IPAexGothic" -\font_typewriter "default" "IPAGothic" +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false @@ -40,6 +40,7 @@ knitr \use_hyperref false \papersize default \use_geometry true +\use_package aligned-overset 0 \use_package amsmath 1 \use_package amssymb 1 \use_package cancel 1 @@ -72,7 +73,7 @@ knitr \table_alt_row_colors_start 1 \index Index \shortcut idx -\color #008000 +\color #ff008000 \end_index \leftmargin 2.5cm \topmargin 2.5cm @@ -82,6 +83,7 @@ knitr \tocdepth 3 \paragraph_separation indent \paragraph_indentation default +\parfillskip "default" "" \is_math_indent 0 \math_numbering_side default \quotes_style english From lasgouttes at lyx.org Thu Oct 8 14:58:02 2026 From: lasgouttes at lyx.org (=?utf-8?q?Jean-Marc_Lasgouttes?=) Date: Thu, 08 Oct 2026 14:58:02 +0000 Subject: [LyX/master] Create an undo group before importing a text file Message-ID: <48823d313a3e01e084bc0a2e31cda5e8@lists.lyx.org> commit facab124dd041a0ae8a09b1b20e026723ceb5af1 Author: Jean-Marc Lasgouttes Date: Thu Oct 8 16:57:15 2026 +0200 Create an undo group before importing a text file --- src/frontends/qt/GuiView.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index d717a77e5e..b81fa54728 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -3243,6 +3243,7 @@ static bool import(GuiView * lv, FileName const & filename, string filename2 = (loader_format == format) ? filename.absFileName() : support::changeExtension(filename.absFileName(), theFormats().extension(loader_format)); + UndoGroupHelper ugh(b); lv->currentBufferView()->insertPlaintextFile(FileName(filename2), as_paragraphs); guiApp->setCurrentView(lv); From lasgouttes at lyx.org Thu Oct 8 15:12:39 2026 From: lasgouttes at lyx.org (=?utf-8?q?Jean-Marc_Lasgouttes?=) Date: Thu, 08 Oct 2026 15:12:39 +0000 Subject: [LyX/2.5.x] Create an undo group before importing a text file Message-ID: <2ad72ff0a20a890f00b212c2bb55962e@lists.lyx.org> commit 8da2fe921a2752fb0911c1cf53dc61ad2b589606 Author: Jean-Marc Lasgouttes Date: Thu Oct 8 16:57:15 2026 +0200 Create an undo group before importing a text file (cherry picked from commit facab124dd041a0ae8a09b1b20e026723ceb5af1) --- src/frontends/qt/GuiView.cpp | 1 + status.25x | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index 4389c4b838..ed83c83ef4 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -3202,6 +3202,7 @@ static bool import(GuiView * lv, FileName const & filename, string filename2 = (loader_format == format) ? filename.absFileName() : support::changeExtension(filename.absFileName(), theFormats().extension(loader_format)); + UndoGroupHelper ugh(b); lv->currentBufferView()->insertPlaintextFile(FileName(filename2), as_paragraphs); guiApp->setCurrentView(lv); diff --git a/status.25x b/status.25x index 8535814c3c..74d602c7ea 100644 --- a/status.25x +++ b/status.25x @@ -66,6 +66,8 @@ What's new - Fix insertion of references to equations if the equation is not starting a new paragraph. +- Fix undo handling when importing a plain text document. + * INTERNALS From spitz at lyx.org Sat Oct 10 07:55:41 2026 From: spitz at lyx.org (=?utf-8?q?Juergen_Spitzmueller?=) Date: Sat, 10 Oct 2026 07:55:41 +0000 Subject: [LyX/master] Honor AutoInsert for flex insets without selection Message-ID: <25a7ee77445e166e7369bbaeee49851f@lists.lyx.org> commit f8722a1a7125695acb2174bac3452ccfb9fd7bf0 Author: Juergen Spitzmueller Date: Sat Oct 10 09:55:09 2026 +0200 Honor AutoInsert for flex insets without selection --- src/Text.cpp | 78 +++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 45 insertions(+), 33 deletions(-) diff --git a/src/Text.cpp b/src/Text.cpp index 577c48922d..8f0b01f872 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -3546,6 +3546,44 @@ void ipaChar(Cursor & cur, InsetIPAChar::Kind kind) } +bool doAutoInsert(Cursor & cur) +{ + bool autoargs = false, inautoarg = false; + Layout::LaTeXArgMap args = cur.inset().getLayout().args(); + for (auto const & argt : args) { + Layout::latexarg arg = argt.second; + if (!inautoarg && arg.insertonnewline && cur.pos() > 0) { + FuncRequest cmd2(LFUN_PARAGRAPH_BREAK); + lyx::dispatch(cmd2); + } + if (arg.autoinsert) { + // The cursor might have been invalidated by the replaceSelection. + cur.buffer()->changed(true); + // If we had already inserted an arg automatically, + // leave this now in order to insert the next one. + if (inautoarg) { + cur.leaveInset(cur.inset()); + cur.setCurrentFont(); + cur.posForward(); + if (arg.insertonnewline && cur.pos() > 0) { + FuncRequest cmd2(LFUN_PARAGRAPH_BREAK); + lyx::dispatch(cmd2); + } + } + if (prefixIs(argt.first, "post:")) + cur.pos() = cur.paragraph().size(); + else + cur.pos() = 0; + FuncRequest cmd2(LFUN_ARGUMENT_INSERT, argt.first); + lyx::dispatch(cmd2); + inautoarg = true; + autoargs = true; + } + } + return autoargs; +} + + bool doInsertInset(Cursor & cur, Text * text, FuncRequest const & cmd, bool edit, bool pastesel, bool resetfont = false) @@ -3652,8 +3690,13 @@ bool doInsertInset(Cursor & cur, Text * text, if (edit) inset->edit(cur, true); - if (!gotsel || !pastesel) + if (!gotsel || !pastesel) { + if (inset_text) { + // Insert auto-insert arguments + doAutoInsert(cur); + } return true; + } pasteFromTemp(cur, cur.buffer()->errorList("Paste")); cur.buffer()->errors("Paste"); @@ -3676,38 +3719,7 @@ bool doInsertInset(Cursor & cur, Text * text, if (!move_layout) cur.paragraph().setPlainOrDefaultLayout(bparams.documentClass()); // Insert auto-insert arguments - bool autoargs = false, inautoarg = false; - Layout::LaTeXArgMap args = cur.inset().getLayout().args(); - for (auto const & argt : args) { - Layout::latexarg arg = argt.second; - if (!inautoarg && arg.insertonnewline && cur.pos() > 0) { - FuncRequest cmd2(LFUN_PARAGRAPH_BREAK); - lyx::dispatch(cmd2); - } - if (arg.autoinsert) { - // The cursor might have been invalidated by the replaceSelection. - cur.buffer()->changed(true); - // If we had already inserted an arg automatically, - // leave this now in order to insert the next one. - if (inautoarg) { - cur.leaveInset(cur.inset()); - cur.setCurrentFont(); - cur.posForward(); - if (arg.insertonnewline && cur.pos() > 0) { - FuncRequest cmd2(LFUN_PARAGRAPH_BREAK); - lyx::dispatch(cmd2); - } - } - if (prefixIs(argt.first, "post:")) - cur.pos() = cur.paragraph().size(); - else - cur.pos() = 0; - FuncRequest cmd2(LFUN_ARGUMENT_INSERT, argt.first); - lyx::dispatch(cmd2); - autoargs = true; - inautoarg = true; - } - } + bool autoargs = doAutoInsert(cur); Cursor old = cur; if (!autoargs) cur.leaveInset(*inset); From spitz at lyx.org Sat Oct 10 11:25:17 2026 From: spitz at lyx.org (=?utf-8?q?Juergen_Spitzmueller?=) Date: Sat, 10 Oct 2026 11:25:17 +0000 Subject: [LyX/master] Update buffer before auto-inserting arguments Message-ID: <91ff477560d2b2219c91e789a2421d6a@lists.lyx.org> commit d91ee7fcb34cf9bb928fb62e8a2575f08a32b785 Author: Juergen Spitzmueller Date: Sat Oct 10 13:24:51 2026 +0200 Update buffer before auto-inserting arguments --- src/Text.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Text.cpp b/src/Text.cpp index 8f0b01f872..b844036c03 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -3549,6 +3549,7 @@ void ipaChar(Cursor & cur, InsetIPAChar::Kind kind) bool doAutoInsert(Cursor & cur) { bool autoargs = false, inautoarg = false; + cur.buffer()->updateBuffer(); Layout::LaTeXArgMap args = cur.inset().getLayout().args(); for (auto const & argt : args) { Layout::latexarg arg = argt.second; From skostysh at lyx.org Sat Oct 10 22:03:11 2026 From: skostysh at lyx.org (=?utf-8?q?Scott_Kostyshak?=) Date: Sat, 10 Oct 2026 22:03:11 +0000 Subject: [LyX/master] Add assert to improve reproducing issues Message-ID: <8371c3b3e12d52de44e39fe8cc756f7c@lists.lyx.org> commit 5946226040505ea52326cb90a6bdd00a7322a760 Author: Scott Kostyshak Date: Sat Oct 10 23:59:52 2026 +0200 Add assert to improve reproducing issues Otherwise I see the error message after I exit LyX and have no idea how to reproduce. --- src/TextMetrics.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 97fff2b2f9..8f1d8224f1 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1167,6 +1167,7 @@ Rows TextMetrics::breakParagraph(Row const & bigrow) const LYXERR0("MacroContext not initialised!" << " Going through the buffer again and hope" << " the context is better then. Please report"); + LASSERT(false, /**/ ); // FIXME audit updateBuffer calls // This should not be here, but it is not clear yet where else it // should be.