On Tue, Jun 17, 2025 at 12:11:11PM +0200, luigi scarso wrote:
> Any news ?

Hi,

attached is the patch to un-obsolete(?) \mathflattenmode.

Best,
Marcel
From 62b6f9846bdffb548d792e6089e0cabd21b27542 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= <t...@2krueger.de>
Date: Tue, 17 Jun 2025 21:24:07 +0200
Subject: [PATCH] Un-obsolete \mathflattenmode

---
 source/texk/web2c/luatexdir/tex/commands.c    | 2 +-
 source/texk/web2c/luatexdir/tex/equivalents.h | 2 +-
 source/texk/web2c/luatexdir/tex/maincontrol.c | 7 +------
 source/texk/web2c/luatexdir/tex/mlist.c       | 1 -
 source/texk/web2c/luatexdir/tex/texmath.c     | 4 +---
 5 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/source/texk/web2c/luatexdir/tex/commands.c 
b/source/texk/web2c/luatexdir/tex/commands.c
index 65a6ec20d..8687af21b 100644
--- a/source/texk/web2c/luatexdir/tex/commands.c
+++ b/source/texk/web2c/luatexdir/tex/commands.c
@@ -797,6 +797,7 @@ void initialize_etex_commands(void)
     primitive_luatex("matheqdirmode", assign_int_cmd, int_base + 
math_eq_dir_mode_code, int_base);
     primitive_luatex("mathrulesfam", assign_int_cmd, int_base + 
math_rules_fam_code, int_base);
     primitive_luatex("synctex", assign_int_cmd, int_base + synctex_code, 
int_base);
+    primitive_luatex("mathflattenmode", assign_int_cmd, int_base + 
math_flatten_mode_code, int_base);
 
     /*     
         These are obsolete per TL 2026 because we decided to stick to the more 
traditional \TEX\ 
@@ -809,7 +810,6 @@ void initialize_etex_commands(void)
     primitive_luatex("mathnolimitsmode", assign_int_cmd, int_base + 
math_nolimits_mode_code, int_base);
     primitive_luatex("mathscriptboxmode", assign_int_cmd, int_base + 
math_script_box_mode_code, int_base);
     primitive_luatex("mathscriptcharmode", assign_int_cmd, int_base + 
math_script_char_mode_code, int_base);
-    primitive_luatex("mathflattenmode", assign_int_cmd, int_base + 
math_flatten_mode_code, int_base);
     primitive_luatex("mathdefaultsmode", assign_int_cmd, int_base + 
math_defaults_mode_code, int_base);
     primitive_luatex("mathrulethicknessmode", assign_int_cmd, int_base + 
math_rule_thickness_mode_code, int_base);
     primitive_luatex("mathdelimitersmode", assign_int_cmd, int_base + 
math_delimiters_mode_code, int_base);
diff --git a/source/texk/web2c/luatexdir/tex/equivalents.h 
b/source/texk/web2c/luatexdir/tex/equivalents.h
index 53ad6e85b..1e63b5601 100644
--- a/source/texk/web2c/luatexdir/tex/equivalents.h
+++ b/source/texk/web2c/luatexdir/tex/equivalents.h
@@ -303,7 +303,7 @@ the |number_regs| \.{\\dimen} registers.
 #  define math_script_box_mode_code 111 /* obsolete */
 #  define math_script_char_mode_code 112 /* obsolete */
 #  define math_rule_thickness_mode_code 113
-#  define math_flatten_mode_code 114 /* obsolete */
+#  define math_flatten_mode_code 114
 
 #  define copy_lua_input_nodes_code 115
 #  define suppress_primitive_error_code 116
diff --git a/source/texk/web2c/luatexdir/tex/maincontrol.c 
b/source/texk/web2c/luatexdir/tex/maincontrol.c
index 669242c39..173e462a3 100644
--- a/source/texk/web2c/luatexdir/tex/maincontrol.c
+++ b/source/texk/web2c/luatexdir/tex/maincontrol.c
@@ -3615,12 +3615,7 @@ void assign_internal_value(int a, halfword p, int val)
             }
             break;
         case math_flatten_mode_code:
-            if (permit_math_obsolete) {
-                if (math_flatten_mode_par != val) {
-                    normal_warning("math", "\\mathflattenmode is obsolete");
-                }
-                word_define(p, val);
-            }
+            word_define(p, val);
             break;
         case math_defaults_mode_code:
             if (permit_math_obsolete) {
diff --git a/source/texk/web2c/luatexdir/tex/mlist.c 
b/source/texk/web2c/luatexdir/tex/mlist.c
index 7922ac54a..9bbee18fe 100644
--- a/source/texk/web2c/luatexdir/tex/mlist.c
+++ b/source/texk/web2c/luatexdir/tex/mlist.c
@@ -29,7 +29,6 @@ LuaTeX; if not, see <http://www.gnu.org/licenses/>.
     \mathnolimitsmode
     \mathscriptboxmode
     \mathscriptcharmode
-    \mathflattenmode
     \mathdefaultsmode
     \mathrulethicknessmode
     \mathdelimitersmode
diff --git a/source/texk/web2c/luatexdir/tex/texmath.c 
b/source/texk/web2c/luatexdir/tex/texmath.c
index 3bea66541..c3de8ab82 100644
--- a/source/texk/web2c/luatexdir/tex/texmath.c
+++ b/source/texk/web2c/luatexdir/tex/texmath.c
@@ -2124,9 +2124,7 @@ void close_math_group(pointer p)
         if (type(p) == simple_noad) {
             if (subscr(p) == null && supscr(p) == null) {
                 /*tex 
-                    In traditional \TEX\ this only happens for ordinary noads. 
Per TL 2026 this
-                    is now an undocumented features and eventually it might 
get dropped (unless 
-                    it makes some \CONTEXT\ \MKIV\ things more difficult. 
+                    In traditional \TEX\ this only happens for ordinary noads.
                 */
              // int flatten = subtype(p) == ord_noad_type; /*tex traditional 
\TEX. */
                 int flatten = 0;
-- 
2.50.0

_______________________________________________
dev-luatex mailing list -- dev-luatex@ntg.nl
To unsubscribe send an email to dev-luatex-le...@ntg.nl

Reply via email to