texlive[73845] Build/source/texk/web2c: LuaTeX: Updated

commits+lscarso at tug.org commits+lscarso at tug.org
Mon Feb 10 15:59:23 CET 2025


Revision: 73845
          https://tug.org/svn/texlive?view=revision&revision=73845
Author:   lscarso
Date:     2025-02-10 15:59:23 +0100 (Mon, 10 Feb 2025)
Log Message:
-----------
LuaTeX: Updated \tracinglostchars: 4 early warning (and force terminal); >4 early error.

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/doc/luatex/luatex-fonts.tex
    trunk/Build/source/texk/web2c/doc/luatex/luatex.pdf
    trunk/Build/source/texk/web2c/doc/luatex/luatex.tex
    trunk/Build/source/texk/web2c/luatexdir/luatex_svnversion.h
    trunk/Build/source/texk/web2c/luatexdir/tex/errors.c
    trunk/Build/source/texk/web2c/luatexdir/tex/linebreak.c
    trunk/Build/source/texk/web2c/luatexdir/tex/packaging.c

Modified: trunk/Build/source/texk/web2c/doc/luatex/luatex-fonts.tex
===================================================================
--- trunk/Build/source/texk/web2c/doc/luatex/luatex-fonts.tex	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/doc/luatex/luatex-fonts.tex	2025-02-10 14:59:23 UTC (rev 73845)
@@ -1,4 +1,4 @@
-% language=uk engine=luatex
+% language=us engine=luatex runpath=texruns:manuals/luatex
 
 \environment luatex-style
 
@@ -906,6 +906,28 @@
 
 \stopsubsection
 
+\startsubsection[title={\type {\tracinglostchars}}]
+
+This tracer reports missing characters. By design we delay this till the backend
+included them, when math typesetting needs them, or when a virtual font is
+created (1, 2, 3). Per request of the \LATEX\ team we have two extra options that
+report in an earlier stage i.e.\ when the glyphs are packaged or processed during
+line breaking (4 and 5).
+
+\starttabulate[|r|l|]
+    \DB     \BC effect \NC \NR
+    \TB
+    \NC 0   \NC nothing \NC \NR
+    \NC 1   \NC warning only to log file \NC \NR
+    \NC 2   \NC warning and force terminal \NC \NR
+    \NC 3   \NC error \NC \NR
+    \NC 4   \NC early warning (and force terminal) \NC \NR
+    \NC > 4 \NC early error \NC \NR
+    \LL
+\stoptabulate
+
+\stopsubsection
+
 \stopsection
 
 \stopchapter

Modified: trunk/Build/source/texk/web2c/doc/luatex/luatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/texk/web2c/doc/luatex/luatex.tex
===================================================================
--- trunk/Build/source/texk/web2c/doc/luatex/luatex.tex	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/doc/luatex/luatex.tex	2025-02-10 14:59:23 UTC (rev 73845)
@@ -73,7 +73,7 @@
 \startdocument
   [manual=Lua\TeX,
    status=stable,
-   version=1.20]
+   version=1.21]
 
 \startnotmode[*export]
     \component luatex-titlepage

Modified: trunk/Build/source/texk/web2c/luatexdir/luatex_svnversion.h
===================================================================
--- trunk/Build/source/texk/web2c/luatexdir/luatex_svnversion.h	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/luatexdir/luatex_svnversion.h	2025-02-10 14:59:23 UTC (rev 73845)
@@ -1,4 +1,4 @@
 #ifndef luatex_svn_revision_h
 #define luatex_svn_revision_h
-#define luatex_svn_revision 7661
+#define luatex_svn_revision 7662
 #endif

Modified: trunk/Build/source/texk/web2c/luatexdir/tex/errors.c
===================================================================
--- trunk/Build/source/texk/web2c/luatexdir/tex/errors.c	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/luatexdir/tex/errors.c	2025-02-10 14:59:23 UTC (rev 73845)
@@ -935,16 +935,22 @@
 If |tracing_lost_chars_par| (i.e. \.{\\tracinglostchar})  is  greater than 2,
 it's considered as an error.
 
+=0 : nothing 
+=1 : warning only to log file
+=2 : warning + force terminal 
+=3 : error                      
+=4 : warning (+ force terminal) : per request latex team
+>4 : error                      : per request latex team
+
 */
 
 void char_warning(internal_font_number f, int c)
 {
-    /*tex saved value of |tracing_online| */
-    int old_setting;
-    /* index to current digit; we assume that $0\L n<16^{22}$ */
-    int k;
     if (tracing_lost_chars_par > 0) {
-        old_setting = tracing_online_par;
+        /*tex saved value of |tracing_online| */
+        int old_setting = tracing_online_par;
+        /* index to current digit; we assume that $0\L n<16^{22}$ */
+        int k;
         if (tracing_lost_chars_par > 1)
             tracing_online_par = 1;
         begin_diagnostic();
@@ -970,8 +976,10 @@
         end_diagnostic(false);
         tracing_online_par = old_setting;
     }
-    if (tracing_lost_chars_par > 2) {
+    if (tracing_lost_chars_par == 3) {
        error();
+    } else if (tracing_lost_chars_par > 4) {
+       error();
     }
 }
 

Modified: trunk/Build/source/texk/web2c/luatexdir/tex/linebreak.c
===================================================================
--- trunk/Build/source/texk/web2c/luatexdir/tex/linebreak.c	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/luatexdir/tex/linebreak.c	2025-02-10 14:59:23 UTC (rev 73845)
@@ -958,6 +958,9 @@
 {
     while (s != null) {
         if (is_char_node(s)) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(s), character(s))) {
+    char_warning(font(s), character(s));
+}
             widths[1] += pack_width(line_break_dir, dir_TRT, s, true);
             if ((adjust_spacing > 1) && check_expand_pars(font(s))) {
                 set_prev_char_p(s);
@@ -1004,6 +1007,9 @@
     while (s != null) {
         /*tex Subtract the width of node |s| from |break_width|; */
         if (is_char_node(s)) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(s), character(s))) {
+    char_warning(font(s), character(s));
+}
             widths[1] -= pack_width(line_break_dir, dir_TRT, s, true);
             if ((adjust_spacing > 1) && check_expand_pars(font(s))) {
                 set_prev_char_p(s);
@@ -2135,6 +2141,9 @@
                     |vlink(cur_p)=null| when |cur_p| is a character node.
 
                 */
+if (tracing_lost_chars_par > 3 && ! char_exists(font(cur_p), character(cur_p))) {
+    char_warning(font(cur_p), character(cur_p));
+}
                 active_width[1] += pack_width(line_break_dir, dir_TRT, cur_p, true);
                 if ((adjust_spacing > 1) && check_expand_pars(font(cur_p))) {
                     set_prev_char_p(cur_p);

Modified: trunk/Build/source/texk/web2c/luatexdir/tex/packaging.c
===================================================================
--- trunk/Build/source/texk/web2c/luatexdir/tex/packaging.c	2025-02-10 02:22:52 UTC (rev 73844)
+++ trunk/Build/source/texk/web2c/luatexdir/tex/packaging.c	2025-02-10 14:59:23 UTC (rev 73845)
@@ -411,20 +411,32 @@
     if (type(p) == disc_node) {
         halfword r = vlink(pre_break(p));
         while (r != null) {
-            if (is_char_node(r))
+            if (is_char_node(r)) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(r), character(r))) {
+    char_warning(font(r), character(r));
+}
                 do_subst_font(r, ex_ratio);
+            }
             r = vlink(r);
         }
         r = vlink(post_break(p));
         while (r != null) {
-            if (is_char_node(r))
+            if (is_char_node(r)) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(r), character(r))) {
+    char_warning(font(r), character(r));
+}
                 do_subst_font(r, ex_ratio);
+            }
             r = vlink(r);
         }
         r = vlink(no_break(p));
         while (r != null) {
-            if (is_char_node(r))
+            if (is_char_node(r)) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(r), character(r))) {
+    char_warning(font(r), character(r));
+}
                 do_subst_font(r, ex_ratio);
+            }
             r = vlink(r);
         }
         return;
@@ -620,6 +632,9 @@
                 these instructions to be exercised one more time.
 
             */
+if (tracing_lost_chars_par > 3 && ! char_exists(font(p), character(p))) {
+    char_warning(font(p), character(p));
+}
             if (m >= cal_expand_ratio) {
                 prev_char_p = p;
                 if (m == cal_expand_ratio) {
@@ -1070,6 +1085,9 @@
     }
     while (p != pp && p != null) {
         while (is_char_node(p) && p != pp) {
+if (tracing_lost_chars_par > 3 && ! char_exists(font(p), character(p))) {
+    char_warning(font(p), character(p));
+} 
             whd = pack_width_height_depth(hpack_dir, dir_TRT, p, true);
             siz.wd += whd.wd;
             if (whd.ht > siz.ht)



More information about the tex-live-commits mailing list.