summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHironobu Yamashita <h.y.acetaminophen@gmail.com>2019-11-13 10:13:31 +0000
committerHironobu Yamashita <h.y.acetaminophen@gmail.com>2019-11-13 10:13:31 +0000
commitfebfa49f76b9698e3362af058db3ab357e3712fe (patch)
tree7df4a3c3fcfecebe2d476aa32476f4486913affc
parenta4328383d0732ad601a025a99afdf1eb3052cc05 (diff)
e[u]ptex: add \current[x]spacingmode, \currentcjktoken
git-svn-id: svn://tug.org/texlive/trunk@52770 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex.ech33
-rw-r--r--Build/source/texk/web2c/euptexdir/euptex.ch127
-rw-r--r--Build/source/texk/web2c/ptexdir/ptex-base.ch2
3 files changed, 61 insertions, 1 deletions
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}}
+
+@<Generate all \eTeX...@>=
+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@>
+
+@ @<Cases of |last_item| for |print_cmd_chr|@>=
+current_spacing_mode_code: print_esc("currentspacingmode");
+current_xspacing_mode_code: print_esc("currentxspacingmode");
+
+@ @<Cases for fetching an integer value@>=
+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}}
+
+@<Generate all \eTeX...@>=
+primitive("currentcjktoken",last_item,current_cjk_token_code);
+@!@:current_cjk_token_}{\.{\\currentcjktoken} primitive@>
+
+@ @<Cases of |last_item| for |print_cmd_chr|@>=
+current_cjk_token_code: print_esc("currentcjktoken");
+
+@ @<Cases for fetching an integer value@>=
+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