summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/eptexdir/etex.ch0
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2011-03-30 16:16:28 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2011-03-30 16:16:28 +0000
commitb2025034e6288855de53c9fe2aecbd555ba065f6 (patch)
tree9c78f2eb5d3567220d2ddfd3a2bb2dd17a804449 /Build/source/texk/web2c/eptexdir/etex.ch0
parente21b96f32d8c9ed4ca242796e353cfb6ff5fe43c (diff)
e-TeX, pTeX, e-pTeX: Handle disp_node from discretionary
git-svn-id: svn://tug.org/texlive/trunk@21892 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/eptexdir/etex.ch0')
-rw-r--r--Build/source/texk/web2c/eptexdir/etex.ch018
1 files changed, 16 insertions, 2 deletions
diff --git a/Build/source/texk/web2c/eptexdir/etex.ch0 b/Build/source/texk/web2c/eptexdir/etex.ch0
index 1fb7c8c68ee..154391e42c6 100644
--- a/Build/source/texk/web2c/eptexdir/etex.ch0
+++ b/Build/source/texk/web2c/eptexdir/etex.ch0
@@ -42,6 +42,13 @@ if box(cur_val)=null then cur_val:=0 @+else cur_val:=mem[box(cur_val)+m].sc;
@z
@x [26.424]
+legal in similar contexts.
+
+@y
+legal in similar contexts.
+@z
+
+@x [26.424]
@d find_effective_tail==find_effective_tail_eTeX
@y
@@ -136,22 +143,28 @@ else box(n):=vpack(q,natural);
@z
@x [47.1080]
+@d check_effective_tail(#)==find_effective_tail_eTeX
@d fetch_effective_tail==fetch_effective_tail_eTeX
@y
@z
@x [47.1080]
-else begin find_effective_tail;
+else begin check_effective_tail(goto done);
if not is_char_node(tx) then
if (type(tx)=hlist_node)or(type(tx)=vlist_node) then
+ @<Remove the last box, unless it's part of a discretionary@>;
+ done:end;
@y
else begin if not is_char_node(tail) then
if (type(tail)=hlist_node)or(type(tail)=vlist_node) then
+ @<Remove the last box, unless it's part of a discretionary@>;
+ end;
@z
@x [47.1081]
begin fetch_effective_tail(goto done);
cur_box:=tx; shift_amount(cur_box):=0;
+end
@y
begin q:=head;
repeat p:=q;
@@ -163,6 +176,7 @@ q:=link(p);
until q=tail;
cur_box:=tail; shift_amount(cur_box):=0;
tail:=p; link(p):=null;
+done:end
@z
@x [47.1096]
@@ -179,7 +193,7 @@ tail:=p; link(p):=null;
@z
@x [47.1105]
-else begin find_effective_tail;
+else begin check_effective_tail(return);
if not is_char_node(tx) then if type(tx)=cur_chr then
begin fetch_effective_tail(return);
flush_node_list(tx);