texlive[55026] Build/source/texk/web2c: [e][u]ptex: inhibit_glue_flag

commits+hironobu at tug.org commits+hironobu at tug.org
Tue May 5 14:37:43 CEST 2020


Revision: 55026
          http://tug.org/svn/texlive?view=revision&revision=55026
Author:   hironobu
Date:     2020-05-05 14:37:43 +0200 (Tue, 05 May 2020)
Log Message:
-----------
[e][u]ptex: inhibit_glue_flag in extensions (H. Kitagawa)

Modified Paths:
--------------
    trunk/Build/source/texk/web2c/eptexdir/ChangeLog
    trunk/Build/source/texk/web2c/eptexdir/pdfutils.ch
    trunk/Build/source/texk/web2c/ptexdir/ChangeLog
    trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch

Added Paths:
-----------
    trunk/Build/source/texk/web2c/ptexdir/tests/inhibitglue_extensions.tex

Modified: trunk/Build/source/texk/web2c/eptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/eptexdir/ChangeLog	2020-05-05 10:25:49 UTC (rev 55025)
+++ trunk/Build/source/texk/web2c/eptexdir/ChangeLog	2020-05-05 12:37:43 UTC (rev 55026)
@@ -1,3 +1,8 @@
+2020-05-05  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
+
+	* pdfutils.ch: Sync with inhibit_glue_flag improvement.
+	https://github.com/texjporg/tex-jp-build/pull/102
+
 2019-12-10  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
 
 	* am/eptex.am (eptex_CPPFLAGS): append $(ZLIB_INCLUDES).

Modified: trunk/Build/source/texk/web2c/eptexdir/pdfutils.ch
===================================================================
--- trunk/Build/source/texk/web2c/eptexdir/pdfutils.ch	2020-05-05 10:25:49 UTC (rev 55025)
+++ trunk/Build/source/texk/web2c/eptexdir/pdfutils.ch	2020-05-05 12:37:43 UTC (rev 55026)
@@ -1572,6 +1572,7 @@
 @ @<Implement \.{\\pdfsavepos}@>=
 begin
     new_whatsit(pdf_save_pos_node, small_node_size);
+    inhibit_glue_flag:=false;
 end
 
 @ @<Save current position in DVI mode@>=

Modified: trunk/Build/source/texk/web2c/ptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/ChangeLog	2020-05-05 10:25:49 UTC (rev 55025)
+++ trunk/Build/source/texk/web2c/ptexdir/ChangeLog	2020-05-05 12:37:43 UTC (rev 55026)
@@ -1,3 +1,8 @@
+2020-05-05  Hironori Kitagawa  <h_kitagawa2001 at yahoo.co.jp>
+
+	* ptex-base.ch: Improved resetting inhibit_glue_flag in extensions.
+	https://github.com/texjporg/tex-jp-build/pull/102
+
 2020-02-09  Phelype Oleinik  <phe.h.o1 at gmail.com>
 
 	* ptexdir/ptex-base.ch: extra end; needed for the scan_file_name

Modified: trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch	2020-05-05 10:25:49 UTC (rev 55025)
+++ trunk/Build/source/texk/web2c/ptexdir/ptex-base.ch	2020-05-05 12:37:43 UTC (rev 55026)
@@ -6323,15 +6323,61 @@
   ctype_base[null_font]:=0; char_base[null_font]:=0; width_base[null_font]:=0;
 @z
 
- at x [53.????] do_extension, inhibit_glue_flag
-begin case cur_chr of
-open_node:@<Implement \.{\\openout}@>;
+ at x [53.????] new_write_whatsit, inhibit_glue_flag
+write_stream(tail):=cur_val;
+end;
 @y
-begin inhibit_glue_flag:=false;
-case cur_chr of
-open_node:@<Implement \.{\\openout}@>;
+write_stream(tail):=cur_val;
+inhibit_glue_flag:=false;
+end;
 @z
 
+ at x [53.????] Implement \special, inhibit_glue_flag
+@<Implement \.{\\special}@>=
+begin new_whatsit(special_node,write_node_size); write_stream(tail):=null;
+p:=scan_toks(false,true); write_tokens(tail):=def_ref;
+end
+ at y
+@<Implement \.{\\special}@>=
+begin new_whatsit(special_node,write_node_size); write_stream(tail):=null;
+p:=scan_toks(false,true); write_tokens(tail):=def_ref;
+inhibit_glue_flag:=false;
+end
+ at z
+
+ at x [53.????] Implement \immediate, inhibit_glue_flag
+  begin p:=tail; do_extension; {append a whatsit node}
+  out_what(tail); {do the action immediately}
+  flush_node_list(tail); tail:=p; link(p):=null;
+  end
+ at y
+  begin k:=inhibit_glue_flag;
+  p:=tail; do_extension; {append a whatsit node}
+  out_what(tail); {do the action immediately}
+  flush_node_list(tail); tail:=p; link(p):=null;
+  inhibit_glue_flag:=k;
+  end
+ at z
+
+ at x [53.????] fix_language, inhibit_glue_flag
+if l<>clang then
+  begin new_whatsit(language_node,small_node_size);
+ at y
+if l<>clang then
+  begin inhibit_glue_flag:=false;
+  new_whatsit(language_node,small_node_size);
+ at z
+
+ at x [53.????] set_language, inhibit_glue_flag
+if abs(mode)<>hmode then report_illegal_case
+else begin new_whatsit(language_node,small_node_size);
+ at y
+if abs(mode)<>hmode then report_illegal_case
+else begin inhibit_glue_flag:=false;
+  new_whatsit(language_node,small_node_size);
+ at z
+
+
 @x [53.1376] l.26309 - pTeX:
 @<Glob...@> =
 @!debug_format_file: boolean;

Added: trunk/Build/source/texk/web2c/ptexdir/tests/inhibitglue_extensions.tex
===================================================================
--- trunk/Build/source/texk/web2c/ptexdir/tests/inhibitglue_extensions.tex	                        (rev 0)
+++ trunk/Build/source/texk/web2c/ptexdir/tests/inhibitglue_extensions.tex	2020-05-05 12:37:43 UTC (rev 55026)
@@ -0,0 +1,50 @@
+\documentclass{jsarticle}
+\usepackage[deluxe]{otf}
+\begin{document}
+\def\cs#1{\texttt{\textbackslash #1}}
+\immediate\openout15="\jobname.hoge"\immediate\closeout15
+
+\tracingonline1\showboxdepth100\showboxbreadth10000
+あい\inhibitglue(あ)
+
+あい\inhibitglue\openout14="\jobname-P.out"
+(あ\cs{openout}←whatsit作る
+
+あい\inhibitglue\write14{う}(あ\cs{write}←whatsit作る
+
+あい\inhibitglue\closeout14(あ\cs{closeout}←whatsit作る
+
+あい\inhibitglue\special{A}(あ\cs{special}←whatsit作る
+
+あい\inhibitglue\immediate(あ\cs{immediate}
+
+あい\inhibitglue\immediate\openout14="\jobname-I.out"
+(あ\cs{immediate}\cs{openout}
+
+あい\inhibitglue\immediate\write14{え}(あ\cs{immediate}\cs{write}
+
+あい\inhibitglue\immediate\closeout14(あ\cs{immediate}\cs{closeout}
+
+あい\inhibitglue\immediate\special{A}(あ\cs{immediate}\cs{special}$^*$
+
+あい\inhibitglue\pdfsavepos(あ\cs{pdfsavepos}←whatsit作る
+
+あい\inhibitglue\immediate\pdfsavepos(あ\cs{immediate}\cs{pdfsavepos}$^*$
+
+あい\inhibitglue\read16to\CS (あ\cs{read}
+
+あい\inhibitglue\openin1="\jobname.aux"
+(あ\cs{openin}\closein1
+
+あい\inhibitglue\setlanguage1(あ\cs{setlanguage}←whatsit作る
+
+
+あい\inhibitglue\textbf{(う)}
+
+あい\inhibitglue\textsf{(う)}
+
+あい\inhibitglue\textsf{(う)}
+
+$^*$: \cs{immediate}は効力なし
+\end{document}
+


Property changes on: trunk/Build/source/texk/web2c/ptexdir/tests/inhibitglue_extensions.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


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