From febfa49f76b9698e3362af058db3ab357e3712fe Mon Sep 17 00:00:00 2001 From: Hironobu Yamashita Date: Wed, 13 Nov 2019 10:13:31 +0000 Subject: e[u]ptex: add \current[x]spacingmode, \currentcjktoken git-svn-id: svn://tug.org/texlive/trunk@52770 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/eptexdir/eptex.ech | 33 ++++++++++++++++++++++++++++ Build/source/texk/web2c/euptexdir/euptex.ch1 | 27 +++++++++++++++++++++++ Build/source/texk/web2c/ptexdir/ptex-base.ch | 2 +- 3 files changed, 61 insertions(+), 1 deletion(-) (limited to 'Build/source/texk/web2c') diff --git a/Build/source/texk/web2c/eptexdir/eptex.ech b/Build/source/texk/web2c/eptexdir/eptex.ech index ea29201dbb6..c38831367f6 100644 --- a/Build/source/texk/web2c/eptexdir/eptex.ech +++ b/Build/source/texk/web2c/eptexdir/eptex.ech @@ -110,6 +110,12 @@ var m:halfword; {|chr_code| part of the operand token} @d eptex_version_code=ptex_minor_version_code+1 {code for \.{\\epTeXversion}} @z +@x e-pTeX: \current(x)spacingmode +@d eTeX_dim=eTeX_int+8 {first of \eTeX\ codes for dimensions} +@y +@d eTeX_dim=eTeX_int+10 {first of \eTeX\ codes for dimensions} +@z + @x primitive("ptexversion",last_item,ptex_version_code); @!@:ptexversion_}{\.{\\ptexversion} primitive@> @@ -699,3 +705,30 @@ end; @# procedure print_direction(@!d:integer); {print the direction represented by d} @z + +@x e-pTeX: fetch \(no)auto(x)spacing status +@* \[56] System-dependent changes. +@y +@ The \.{\\currentspacingmode} and \.{\\currentxspacingmode} commands +return the current \pTeX's status of \.{\\(no)autospacing} and +\.{\\(no)autoxspacing} respectively. + +@d current_spacing_mode_code=eTeX_int+8 {code for \.{\\currentspacingmode}} +@d current_xspacing_mode_code=eTeX_int+9 {code for \.{\\currentxspacingmode}} + +@= +primitive("currentspacingmode",last_item,current_spacing_mode_code); +@!@:current_spacing_mode_}{\.{\\currentspacingmode} primitive@> +primitive("currentxspacingmode",last_item,current_xspacing_mode_code); +@!@:current_xspacing_mode_}{\.{\\currentxspacingmode} primitive@> + +@ @= +current_spacing_mode_code: print_esc("currentspacingmode"); +current_xspacing_mode_code: print_esc("currentxspacingmode"); + +@ @= +current_spacing_mode_code: cur_val:=auto_spacing; +current_xspacing_mode_code: cur_val:=auto_xspacing; + +@* \[56] System-dependent changes. +@z diff --git a/Build/source/texk/web2c/euptexdir/euptex.ch1 b/Build/source/texk/web2c/euptexdir/euptex.ch1 index d33a3df7552..35af4241760 100644 --- a/Build/source/texk/web2c/euptexdir/euptex.ch1 +++ b/Build/source/texk/web2c/euptexdir/euptex.ch1 @@ -12,6 +12,12 @@ @d uptex_version_code=ptex_minor_version_code+2 {code for \.{\\uptexversion}} @z +@x e-upTeX: \currentcjktoken +@d eTeX_dim=eTeX_int+10 {first of \eTeX\ codes for dimensions} +@y +@d eTeX_dim=eTeX_int+11 {first of \eTeX\ codes for dimensions} +@z + @x eptex_version_code: print_esc("epTeXversion"); @y @@ -76,3 +82,24 @@ if j=1 then begin buffer[m]:=info(p) mod max_char_val; incr(m); p:=link(p); end; @z + +@x e-upTeX: fetch \(disable|enable|force)cjktoken status +@* \[54] System-dependent changes. +@y +@ The \.{\\currentcjktoken} command returns the current \upTeX's +status of \.{\\(disable|enable|force)cjktoken}. + +@d current_cjk_token_code=eTeX_int+10 {code for \.{\\currentcjktoken}} + +@= +primitive("currentcjktoken",last_item,current_cjk_token_code); +@!@:current_cjk_token_}{\.{\\currentcjktoken} primitive@> + +@ @= +current_cjk_token_code: print_esc("currentcjktoken"); + +@ @= +current_cjk_token_code: cur_val:=enable_cjk_token; + +@* \[54] System-dependent changes. +@z diff --git a/Build/source/texk/web2c/ptexdir/ptex-base.ch b/Build/source/texk/web2c/ptexdir/ptex-base.ch index 1bc79fa3007..9efd5bf5879 100644 --- a/Build/source/texk/web2c/ptexdir/ptex-base.ch +++ b/Build/source/texk/web2c/ptexdir/ptex-base.ch @@ -994,7 +994,7 @@ kern_node,math_node,penalty_node: begin r:=get_node(small_node_size); @d hyph_data=set_box+1 {hyphenation data ( \.{\\hyphenation}, \.{\\patterns} )} @d set_interaction=hyph_data+1 {define level of interaction ( \.{\\batchmode}, etc.~)} @d set_auto_spacing=set_interaction+1 {set auto spacing mode - ( \.{\\autospacing}, \.{\\noautospacing}, ( \.{\\autoxspacing}, \.{\\noautoxspacing} )} + ( \.{\\autospacing}, \.{\\noautospacing}, \.{\\autoxspacing}, \.{\\noautoxspacing} )} @d max_command=set_auto_spacing {the largest command code seen at |big_switch|} @z -- cgit v1.2.3