texlive[70751] branches/branch2024/Build/source/texk/web2c: 2024

commits+karl at tug.org commits+karl at tug.org
Sun Mar 24 23:32:26 CET 2024


Revision: 70751
          https://tug.org/svn/texlive?view=revision&revision=70751
Author:   karl
Date:     2024-03-24 23:32:26 +0100 (Sun, 24 Mar 2024)
Log Message:
-----------
2024 branch: \aftergroup \output routine fix from DRF

Modified Paths:
--------------
    branches/branch2024/Build/source/texk/web2c/ChangeLog
    branches/branch2024/Build/source/texk/web2c/unbalanced-braces.ch

Modified: branches/branch2024/Build/source/texk/web2c/ChangeLog
===================================================================
--- branches/branch2024/Build/source/texk/web2c/ChangeLog	2024-03-24 21:31:23 UTC (rev 70750)
+++ branches/branch2024/Build/source/texk/web2c/ChangeLog	2024-03-24 22:32:26 UTC (rev 70751)
@@ -1,3 +1,10 @@
+2024-03-24  Karl Berry  <karl at freefriends.org>
+
+	* unbalanced-braces.ch: fix from DRF in order to make
+	\aftergroup work again with the output routine. Report
+	from David Carlisle and Frank Mittelbach, thread starts at:
+	https://tug.org/pipermail/tex-live/2024-March/050290.html
+
 2024-03-10  Karl Berry  <karl at tug.org>
 
 	* TL'24 release.

Modified: branches/branch2024/Build/source/texk/web2c/unbalanced-braces.ch
===================================================================
--- branches/branch2024/Build/source/texk/web2c/unbalanced-braces.ch	2024-03-24 21:31:23 UTC (rev 70750)
+++ branches/branch2024/Build/source/texk/web2c/unbalanced-braces.ch	2024-03-24 22:32:26 UTC (rev 70751)
@@ -47,7 +47,7 @@
         begin decr(param_ptr);
         flush_list(param_stack[param_ptr]);
         end
-    else if (token_type=output_text)and(output_active) then
+    else if (token_type=output_text)and(not output_can_end) then
       fatal_error("Unbalanced output routine");
 @.Unbalanced output routine@>
 @z
@@ -103,6 +103,19 @@
 % that we were just finished with it, so it's where the brace
 % came from.
 
+ at x [45.989] l.19364 p.B417
+@!output_active:boolean; {are we in the midst of an output routine?}
+ at y
+@!output_active:boolean; {are we in the midst of an output routine?}
+@!output_can_end:boolean; {is this an auspicious time for it to end?}
+ at z
+
+ at x [45.989] l.19367 p.B417
+output_active:=false; insert_penalties:=0;
+ at y
+output_active:=false; output_can_end:=false; insert_penalties:=0;
+ at z
+
 % In <Resume the page builder after an output routine has come to an end>:
 @x [45.1026] l.19938 p.B432
 begin if (loc<>null) or
@@ -121,8 +134,10 @@
 end_token_list; {conserve stack space in case more outputs are triggered}
 end_graf; unsave; output_active:=false; insert_penalties:=0;@/
 @y
+output_can_end:=true;
+end_token_list; {conserve stack space in case more outputs are triggered}
+output_can_end:=false;
 end_graf; unsave; output_active:=false; insert_penalties:=0;@/
-end_token_list; {conserve stack space in case more outputs are triggered}
 @z
 
 % <Expand macros in the token list and...> had set mode:=0 while



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