summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorLuigi Scarso <luigi.scarso@gmail.com>2022-10-28 06:21:31 +0000
committerLuigi Scarso <luigi.scarso@gmail.com>2022-10-28 06:21:31 +0000
commiteea76bff51c647fa1e3917c4ffdcac479dde413b (patch)
tree21b9dec7c6a643fc22fcd6bfb65a9fcd1d6cdd16 /Build
parent19958a4c17519a912f719fda54d72acd3f60b42f (diff)
\variablefam (backport from luametatex, handy for latex) (H .Hagen)
git-svn-id: svn://tug.org/texlive/trunk@64839 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/luatexdir/ChangeLog9
-rw-r--r--Build/source/texk/web2c/luatexdir/luatex_svnversion.h2
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/commands.c1
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/dumpdata.c2
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/equivalents.h5
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/texmath.c11
6 files changed, 27 insertions, 3 deletions
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog
index 7ce5072da9f..9cd534c2c56 100644
--- a/Build/source/texk/web2c/luatexdir/ChangeLog
+++ b/Build/source/texk/web2c/luatexdir/ChangeLog
@@ -1,3 +1,12 @@
+2022-10-28 Luigi Scarso <luigi.scarso@gmail.com>
+ * \variablefam (backport from luametatex, handy for latex) (H .Hagen)
+
+2022-10-22 Luigi Scarso <luigi.scarso@gmail.com>
+ * STOP COMMITS TO SVN REPO -- WORK IN PROGRESS
+
+2022-10-22 Luigi Scarso <luigi.scarso@gmail.com>
+ * porting texlive patch r53155 -- WORK IN PROGRESS
+
2022-09-29 Luigi Scarso <luigi.scarso@gmail.com>
* Fixed an infinite loop with --halt-on-error option (K.Berry)
diff --git a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h
index 9821051cb22..6c9c206b957 100644
--- a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h
+++ b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h
@@ -1,4 +1,4 @@
#ifndef luatex_svn_revision_h
#define luatex_svn_revision_h
-#define luatex_svn_revision 7540
+#define luatex_svn_revision 7546
#endif
diff --git a/Build/source/texk/web2c/luatexdir/tex/commands.c b/Build/source/texk/web2c/luatexdir/tex/commands.c
index 9cf5efeeec5..b502cf287fe 100644
--- a/Build/source/texk/web2c/luatexdir/tex/commands.c
+++ b/Build/source/texk/web2c/luatexdir/tex/commands.c
@@ -119,6 +119,7 @@ void initialize_commands(void)
primitive_tex("floatingpenalty", assign_int_cmd, int_base + floating_penalty_code, int_base);
primitive_tex("globaldefs", assign_int_cmd, int_base + global_defs_code, int_base);
primitive_tex("fam", assign_int_cmd, int_base + cur_fam_code, int_base);
+ primitive_luatex("variablefam", assign_int_cmd, int_base + var_fam_code, int_base);
primitive_tex("escapechar", assign_int_cmd, int_base + escape_char_code, int_base);
primitive_tex("defaulthyphenchar", assign_int_cmd, int_base + default_hyphen_char_code, int_base);
primitive_tex("defaultskewchar", assign_int_cmd, int_base + default_skew_char_code, int_base);
diff --git a/Build/source/texk/web2c/luatexdir/tex/dumpdata.c b/Build/source/texk/web2c/luatexdir/tex/dumpdata.c
index fb435c2ca1e..6b7535803f1 100644
--- a/Build/source/texk/web2c/luatexdir/tex/dumpdata.c
+++ b/Build/source/texk/web2c/luatexdir/tex/dumpdata.c
@@ -32,7 +32,7 @@ with LuaTeX; if not, see <http://www.gnu.org/licenses/>.
*/
-#define FORMAT_ID (907+58)
+#define FORMAT_ID (907+59)
#if ((FORMAT_ID>=0) && (FORMAT_ID<=256))
#error Wrong value for FORMAT_ID.
#endif
diff --git a/Build/source/texk/web2c/luatexdir/tex/equivalents.h b/Build/source/texk/web2c/luatexdir/tex/equivalents.h
index 8df33be5237..f755af60a3f 100644
--- a/Build/source/texk/web2c/luatexdir/tex/equivalents.h
+++ b/Build/source/texk/web2c/luatexdir/tex/equivalents.h
@@ -314,8 +314,9 @@ the |number_regs| \.{\\dimen} registers.
# define partoken_context_code 121
# define show_stream_code 122
# define math_eq_dir_mode_code 123
+# define var_fam_code 124
-# define math_option_code 124
+# define math_option_code 125
# define mathoption_int_base_code (math_option_code+1) /* one reserve */
# define mathoption_int_last_code (mathoption_int_base_code+8)
@@ -651,11 +652,13 @@ extern halfword last_cs_name;
#define split_top_skip_par glue_par(split_top_skip_code)
#define cur_fam_par int_par(cur_fam_code)
+#define var_fam_par int_par(var_fam_code)
#define pre_display_direction_par int_par(pre_display_direction_code)
#define pre_display_penalty_par int_par(pre_display_penalty_code)
#define post_display_penalty_par int_par(post_display_penalty_code)
#define cur_fam_par_in_range ((cur_fam_par>=0)&&(cur_fam_par<256))
+#define var_fam_par_in_range ((var_fam_par>=0)&&(var_fam_par<256))
#define local_inter_line_penalty_par int_par(local_inter_line_penalty_code)
#define local_broken_penalty_par int_par(local_broken_penalty_code)
diff --git a/Build/source/texk/web2c/luatexdir/tex/texmath.c b/Build/source/texk/web2c/luatexdir/tex/texmath.c
index 7a71fd80349..8b6138e7cbb 100644
--- a/Build/source/texk/web2c/luatexdir/tex/texmath.c
+++ b/Build/source/texk/web2c/luatexdir/tex/texmath.c
@@ -1462,6 +1462,8 @@ int scan_math(pointer p, int mstyle)
math_character(p) = mval.character_value;
if ((mval.class_value == math_use_current_family_code) && cur_fam_par_in_range)
math_fam(p) = cur_fam_par;
+ else if ((mval.family_value == var_fam_par) && var_fam_par_in_range)
+ math_fam(p) = cur_fam_par;
else
math_fam(p) = mval.family_value;
return 0;
@@ -1508,6 +1510,9 @@ void set_math_char(mathcodeval mval)
if (cur_fam_par_in_range)
math_fam(nucleus(p)) = cur_fam_par;
subtype(p) = ord_noad_type;
+ } else if ((mval.family_value == var_fam_par) && var_fam_par_in_range) {
+ if (cur_fam_par_in_range)
+ math_fam(nucleus(p)) = cur_fam_par;
} else {
math_class_to_type(subtype(p),mval.class_value);
}
@@ -1802,6 +1807,8 @@ void math_ac(void)
math_character(top_accent_chr(tail)) = t.character_value;
if ((t.class_value == math_use_current_family_code) && cur_fam_par_in_range)
math_fam(top_accent_chr(tail)) = cur_fam_par;
+ else if ((t.family_value == var_fam_par) && var_fam_par_in_range)
+ math_fam(top_accent_chr(tail)) = cur_fam_par;
else
math_fam(top_accent_chr(tail)) = t.family_value;
}
@@ -1811,6 +1818,8 @@ void math_ac(void)
math_character(bot_accent_chr(tail)) = b.character_value;
if ((b.class_value == math_use_current_family_code) && cur_fam_par_in_range)
math_fam(bot_accent_chr(tail)) = cur_fam_par;
+ else if ((b.family_value == var_fam_par) && var_fam_par_in_range)
+ math_fam(bot_accent_chr(tail)) = cur_fam_par;
else
math_fam(bot_accent_chr(tail)) = b.family_value;
}
@@ -1820,6 +1829,8 @@ void math_ac(void)
math_character(overlay_accent_chr(tail)) = o.character_value;
if ((o.class_value == math_use_current_family_code) && cur_fam_par_in_range)
math_fam(overlay_accent_chr(tail)) = cur_fam_par;
+ else if ((o.family_value == var_fam_par) && var_fam_par_in_range)
+ math_fam(overlay_accent_chr(tail)) = cur_fam_par;
else
math_fam(overlay_accent_chr(tail)) = o.family_value;
}