From 0226b596b39ea5d055dc37ea0609b67b64fe3d75 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 10 Jun 2020 10:02:10 +0200 Subject: 2020-06-09 18:55:00 --- tex/generic/context/luatex/luatex-fonts-merged.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tex/generic/context/luatex/luatex-fonts-merged.lua') diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 0af016d2a..d0aa965f3 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 2020-05-25 23:36 +-- merge date : 2020-06-09 18:53 do -- begin closure to overcome local limits and interference @@ -27999,6 +27999,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local sweepnode=sweepnode local sweeptype=sweeptype local sweepoverflow=false + local checkdisc=getprev(head) local keepdisc=not sweepnode local lookaheaddisc=nil local backtrackdisc=nil @@ -28122,7 +28123,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) local current=prev local i=f local t=sweeptype=="pre" or sweeptype=="replace" - if not current and t and current==checkdisk then + if not current and t and current==checkdisc then current=getprev(sweepnode) end while current and i>1 do @@ -28150,7 +28151,7 @@ local function chaindisk(head,start,dataset,sequence,rlmode,skiphash,ck) end end current=getprev(current) - if t and current==checkdisk then + if t and current==checkdisc then current=getprev(sweepnode) end end @@ -28335,6 +28336,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s local l=ck[5] local current=start local last=start + if s==1 then + goto next + end if l>f then local discfound local n=f+1 @@ -28400,6 +28404,9 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s break end end + if n<=l then + notmatchpre[last]=true + end else notmatchpre[last]=true end -- cgit v1.2.3