From a9a87aa3826a570e763dc287ca0238ead2fddf6e Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Sun, 20 Dec 2015 01:15:06 +0100 Subject: 2015-12-20 00:31:00 --- tex/context/base/catc-ini.mkiv | 11 +- tex/context/base/colo-ini.mkiv | 47 +++-- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4167 -> 4170 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/core-env.mkiv | 6 +- tex/context/base/font-odv.lua | 193 +++++++++++---------- tex/context/base/lang-ini.mkiv | 29 +--- tex/context/base/lang-mis.mkiv | 4 +- tex/context/base/luat-run.lua | 2 +- tex/context/base/page-lin.mkvi | 3 +- tex/context/base/status-files.pdf | Bin 25683 -> 25699 bytes tex/context/base/status-lua.pdf | Bin 267120 -> 267119 bytes tex/context/base/strc-lnt.mkvi | 4 +- tex/context/base/x-mathml.mkiv | 13 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 164 insertions(+), 154 deletions(-) diff --git a/tex/context/base/catc-ini.mkiv b/tex/context/base/catc-ini.mkiv index 175fdd380..05bc3f76f 100644 --- a/tex/context/base/catc-ini.mkiv +++ b/tex/context/base/catc-ini.mkiv @@ -184,21 +184,24 @@ \def\syst_catcodes_let_b % each time {\ifcsname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - \csname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + %\csname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + \expandafter\lastnamedcs \else \expandafter\syst_catcodes_let_c \fi} \def\syst_catcodes_def_b % each time {\ifcsname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - \csname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + %\csname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + \expandafter\lastnamedcs \else \expandafter\syst_catcodes_def_c \fi} \def\syst_catcodes_ued_b % each time {\ifcsname\??catcodeued\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - \csname\??catcodeued\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + %\csname\??catcodeued\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname + \expandafter\lastnamedcs \else \expandafter\syst_catcodes_ued_c \fi} @@ -302,7 +305,7 @@ %D \stoptyping \normalprotected\def\tracecatcodetables - {\def\syst_catcodes_trace_set {\syst_catcodes_trace{set \catcodetablename\space at \number\c_syst_catcodes_level}}% + {\def\syst_catcodes_trace_set {\syst_catcodes_trace{set \catcodetablename\space at \number\c_syst_catcodes_level}}% \def\syst_catcodes_trace_push{\syst_catcodes_trace{push \catcodetablename\space from \syst_catcodes_prev\space at \number\c_syst_catcodes_level}}% \def\syst_catcodes_trace_pop {\syst_catcodes_trace{pop \catcodetablename\space to \syst_catcodes_prev\space at \number\c_syst_catcodes_level}}} diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv index 937f85278..cc698e3c0 100644 --- a/tex/context/base/colo-ini.mkiv +++ b/tex/context/base/colo-ini.mkiv @@ -375,7 +375,8 @@ \letvalue{\??colorpalet#1}\m_colo_palets_tmp \let\m_colo_palets_tmp\empty} {\ifcsname\??colorpaletspecification#2\endcsname - \normalexpanded{\colo_palets_define[#1][\csname\??colorpaletspecification#2\endcsname]}% + %\normalexpanded{\colo_palets_define[#1][\csname\??colorpaletspecification#2\endcsname]}% + \normalexpanded{\colo_palets_define[#1][\lastnamedcs]}% \fi}} % \def\colo_palets_define_one#1#2% get rid of { } in #2 @@ -392,7 +393,8 @@ \def\colo_palets_define_three#1#2% {\ifcsname\??colorpaletspecification#2\endcsname - \processcommacommand[\csname\??colorpaletspecification#2\endcsname]{\colo_palets_define_one{#1}}% + %\processcommacommand[\csname\??colorpaletspecification#2\endcsname]{\colo_palets_define_one{#1}}% + \processcommacommand[\lastnamedcs]{\colo_palets_define_one{#1}}% \fi} \let\paletsize\!!zerocount @@ -619,16 +621,19 @@ \def\colo_helpers_fast_activate_yes#1% {\ifcsname\??colorsetter\currentcolorprefix#1\endcsname - \csname\??colorsetter\currentcolorprefix#1\endcsname + %\csname\??colorsetter\currentcolorprefix#1\endcsname + \lastnamedcs \csname\??transparencysetter\currentcolorprefix#1\endcsname \else\ifcsname\??colorsetter#1\endcsname - \csname\??colorsetter#1\endcsname + %\csname\??colorsetter#1\endcsname + \lastnamedcs \csname\??transparencysetter#1\endcsname \fi\fi} \def\colo_helpers_fast_activate_nop#1% {\ifcsname\??colorsetter#1\endcsname - \csname\??colorsetter#1\endcsname + %\csname\??colorsetter#1\endcsname + \lastnamedcs \csname\??transparencysetter#1\endcsname \fi} @@ -977,15 +982,28 @@ \appendtoks \colo_helpers_initialize_maintextcolor \to \everyjob \appendtoks \colo_helpers_initialize_maintextcolor \to \everysetupcolors -\def\colo_helpers_inherited_direct_cs#1{\csname\??colorsetter \ifcsname\??colorsetter #1\endcsname#1\fi\endcsname} -\def\colo_helpers_inherited_direct_ca#1{\csname\??colorattribute \ifcsname\??colorattribute #1\endcsname#1\fi\endcsname} -\def\colo_helpers_inherited_direct_ts#1{\csname\??transparencysetter \ifcsname\??transparencysetter #1\endcsname#1\fi\endcsname} -\def\colo_helpers_inherited_direct_ta#1{\csname\??transparencyattribute\ifcsname\??transparencyattribute#1\endcsname#1\fi\endcsname} +\letvalue{\??colorsetter }\empty \letvalue{\??colorattribute }\!!zerocount +\letvalue{\??transparencysetter}\empty \letvalue{\??transparencyattribute}\!!zerocount + +%def\colo_helpers_inherited_direct_cs#1{\csname\??colorsetter \ifcsname\??colorsetter #1\endcsname#1\fi\endcsname} +%def\colo_helpers_inherited_direct_ca#1{\csname\??colorattribute \ifcsname\??colorattribute #1\endcsname#1\fi\endcsname} +%def\colo_helpers_inherited_direct_ts#1{\csname\??transparencysetter \ifcsname\??transparencysetter #1\endcsname#1\fi\endcsname} +%def\colo_helpers_inherited_direct_ta#1{\csname\??transparencyattribute\ifcsname\??transparencyattribute#1\endcsname#1\fi\endcsname} -\def\colo_helpers_inherited_palet_ca#1#2{\csname\??colorattribute \ifcsname\??colorattribute \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} -\def\colo_helpers_inherited_palet_cs#1#2{\csname\??colorsetter \ifcsname\??colorsetter \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} -\def\colo_helpers_inherited_palet_ta#1#2{\csname\??transparencyattribute\ifcsname\??transparencyattribute\??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} -\def\colo_helpers_inherited_palet_ts#1#2{\csname\??transparencysetter \ifcsname\??transparencysetter \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} +\def\colo_helpers_inherited_direct_cs#1{\ifcsname\??colorsetter #1\endcsname\lastnamedcs\fi} +\def\colo_helpers_inherited_direct_ca#1{\ifcsname\??colorattribute #1\endcsname\lastnamedcs\else\!!zerocount\fi} +\def\colo_helpers_inherited_direct_ts#1{\ifcsname\??transparencysetter #1\endcsname\lastnamedcs\fi} +\def\colo_helpers_inherited_direct_ta#1{\ifcsname\??transparencyattribute#1\endcsname\lastnamedcs\else\!!zerocount\fi} + +%def\colo_helpers_inherited_palet_ca#1#2{\csname\??colorattribute \ifcsname\??colorattribute \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} +%def\colo_helpers_inherited_palet_cs#1#2{\csname\??colorsetter \ifcsname\??colorsetter \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} +%def\colo_helpers_inherited_palet_ta#1#2{\csname\??transparencyattribute\ifcsname\??transparencyattribute\??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} +%def\colo_helpers_inherited_palet_ts#1#2{\csname\??transparencysetter \ifcsname\??transparencysetter \??colorpalet#1:#2\endcsname\??colorpalet#1:#2\fi\endcsname} + +\def\colo_helpers_inherited_palet_ca#1#2{\ifcsname\??colorattribute \??colorpalet#1:#2\endcsname\lastnamedcs\fi} +\def\colo_helpers_inherited_palet_cs#1#2{\ifcsname\??colorsetter \??colorpalet#1:#2\endcsname\lastnamedcs\else\!!zerocount\fi} +\def\colo_helpers_inherited_palet_ta#1#2{\ifcsname\??transparencyattribute\??colorpalet#1:#2\endcsname\lastnamedcs\fi} +\def\colo_helpers_inherited_palet_ts#1#2{\ifcsname\??transparencysetter \??colorpalet#1:#2\endcsname\lastnamedcs\else\!!zerocount\fi} \let\colo_helpers_set_value\setvalue @@ -1017,9 +1035,6 @@ \localundefine{\??transparencyattribute#1:#2}% \fi}} -\letvalue{\??colorsetter }\empty \letvalue{\??colorattribute }\!!zerocount -\letvalue{\??transparencysetter}\empty \letvalue{\??transparencyattribute}\!!zerocount - \setvalue{\??colorattribute currentcolor}{\the\attribute\colorattribute} % for mpcolor \setvalue{\??transparencyattribute currentcolor}{\the\attribute\transparencyattribute} % for mpcolor diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 7efa9aaea..16c5e7472 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2015.12.19 22:10} +\newcontextversion{2015.12.20 00:29} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index d7aced2f0..aea713477 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index fd7379c60..4a2a79ead 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.12.19 22:10} +\edef\contextversion{2015.12.20 00:29} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv index 752eca784..3d12a8944 100644 --- a/tex/context/base/core-env.mkiv +++ b/tex/context/base/core-env.mkiv @@ -162,7 +162,6 @@ \def\booleanmodevalue#1% {\ifcsname\??mode#1\endcsname - %\ifcase\csname\??mode#1\endcsname \ifcase\lastnamedcs \s!false \or @@ -671,7 +670,7 @@ {\begincsname\??variables#1:#2\endcsname} \def\showvariable#1#2% - {\showvalue{\ifcsname\??variables#1:#2\endcsname\??variables#1:#2\else\s!empty\fi}} + {\showvalue{\begincsname\??variables#1:#2\endcsname}} \let\currentvariableclass\empty @@ -690,7 +689,8 @@ \def\syst_variables_check_value#1#2#3% {\ifcsname\??variables#1:#2\endcsname - \edef\m_syst_variables_temp{\csname\??variables#1:#2\endcsname}% + %\edef\m_syst_variables_temp{\csname\??variables#1:#2\endcsname}% + \edef\m_syst_variables_temp{\lastnamedcs}% \ifx\m_syst_variables_temp\empty \expandafter\def\csname\??variables#1:#2\endcsname{#3}% \fi diff --git a/tex/context/base/font-odv.lua b/tex/context/base/font-odv.lua index c4707d173..6b9a5a9e4 100644 --- a/tex/context/base/font-odv.lua +++ b/tex/context/base/font-odv.lua @@ -113,13 +113,14 @@ local tonode = nuts.tonode local tonut = nuts.tonut local getnext = nuts.getnext +local setnext = nuts.setnext local getprev = nuts.getprev +local setprev = nuts.setprev local getid = nuts.getid local getchar = nuts.getchar +local setchar = nuts.setchar local getfont = nuts.getfont local getsubtype = nuts.getsubtype -local getfield = nuts.getfield -local setfield = nuts.setfield local getprop = nuts.getprop local setprop = nuts.setprop @@ -716,8 +717,8 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) copyinjection(tempcurrent,next) local nextcurrent = copy_node(current) copyinjection(nextcurrent,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set - setfield(tempcurrent,"next",nextcurrent) - setfield(nextcurrent,"prev",tempcurrent) + setnext(tempcurrent,nextcurrent) + setprev(nextcurrent,tempcurrent) setprop(tempcurrent,a_state,s_blwf) tempcurrent = processcharacters(tempcurrent,font) setprop(tempcurrent,a_state,unsetvalue) @@ -725,14 +726,14 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) flush_list(tempcurrent) local n = copy_node(current) copyinjection(n,current) -- KE: necessary? HH: probably not as positioning comes later and we rawget/set - setfield(current,"char",dotted_circle) + setchar(current,dotted_circle) head = insert_node_after(head, current, n) else - setfield(current,"char",getchar(tempcurrent)) -- we assumes that the result of blwf consists of one node + setchar(current,getchar(tempcurrent)) -- we assumes that the result of blwf consists of one node local freenode = getnext(current) - setfield(current,"next",tmp) + setnext(current,tmp) if tmp then - setfield(tmp,"prev",current) + setprev(tmp,current) end free_node(freenode) flush_list(tempcurrent) @@ -786,14 +787,14 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) -- local np = getprev(n) local nn = getnext(n) local ln = getnext(lastcons) -- what if lastcons is nn ? - setfield(np,"next",nn) - setfield(nn,"prev",np) - setfield(lastcons,"next",n) + setnext(np,nn) + setprev(nn,np) + setnext(lastcons,n) if ln then - setfield(ln,"prev",n) + setprev(ln,n) end - setfield(n,"next",ln) - setfield(n,"prev",lastcons) + setnext(n,ln) + setprev(n,lastcons) if lastcons == stop then stop = n end @@ -817,14 +818,14 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) local nn = getnext(n) local mn = getnext(matra) if sp then - setfield(sp,"next",nn) + setnext(sp,nn) end - setfield(nn,"prev",sp) - setfield(matra,"next",start) - setfield(start,"prev",matra) - setfield(n,"next",mn) + setprev(nn,sp) + setnext(matra,start) + setprev(start,matra) + setnext(n,mn) if mn then - setfield(mn,"prev",n) + setprev(mn,n) end if head == start then head = nn @@ -899,20 +900,20 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) -- move pre-base matras... if pre_mark[getchar(cn)] then if bp then - setfield(bp,"next",cn) + setnext(bp,cn) end local next = getnext(cn) local prev = getprev(cn) if next then - setfield(next,"prev",prev) + setprev(next,prev) end - setfield(prev,"next",next) + setnext(prev,next) if cn == stop then stop = prev end - setfield(cn,"prev",bp) - setfield(cn,"next",firstcons) - setfield(firstcons,"prev",cn) + setprev(cn,bp) + setnext(cn,firstcons) + setprev(firstcons,cn) if firstcons == start then if head == start then head = cn @@ -958,34 +959,34 @@ local function deva_reorder(head,start,stop,font,attr,nbspaces) end local prev = getprev(current) if prev then - setfield(prev,"next",n) + setnext(prev,n) end if n then - setfield(n,"prev",prev) + setprev(n,prev) end local next = getnext(b) - setfield(c,"next",next) + setnext(c,next) if next then - setfield(next,"prev",c) + setprev(next,c) end - setfield(c,"next",next) - setfield(b,"next",current) - setfield(current,"prev",b) + setnext(c,next) + setnext(b,current) + setprev(current,b) end elseif cns and getnext(cns) ~= current then -- todo: optimize next -- position below-base Ra (vattu) following the consonants on which it is placed (either the base consonant or one of the pre-base consonants) local cp, cnsn = getprev(current), getnext(cns) if cp then - setfield(cp,"next",n) + setnext(cp,n) end if n then - setfield(n,"prev",cp) + setprev(n,cp) end - setfield(cns,"next",current) - setfield(current,"prev",cns) - setfield(c,"next",cnsn) + setnext(cns,current) + setprev(current,cns) + setnext(c,cnsn) if cnsn then - setfield(cnsn,"prev",c) + setprev(cnsn,c) end if c == stop then stop = cp @@ -1047,11 +1048,11 @@ function handlers.devanagari_reorder_matras(head,start,kind,lookupname,replaceme head = remove_node(head,start) local next = getnext(current) if next then - setfield(next,"prev",start) + setprev(next,start) end - setfield(start,"next",next) - setfield(current,"next",start) - setfield(start,"prev",current) + setnext(start,next) + setnext(current,start) + setprev(start,current) start = startnext break end @@ -1102,11 +1103,11 @@ function handlers.devanagari_reorder_reph(head,start,kind,lookupname,replacement head = remove_node(head,start) local next = getnext(current) if next then - setfield(next,"prev",start) + setprev(next,start) end - setfield(start,"next",next) - setfield(current,"next",start) - setfield(start,"prev",current) + setnext(start,next) + setnext(current,start) + setprev(start,current) start = startnext startattr = getprop(start,a_syllabe) break @@ -1120,10 +1121,10 @@ function handlers.devanagari_reorder_reph(head,start,kind,lookupname,replacement startnext = getnext(start) head = remove_node(head,start) local prev = getprev(current) - setfield(start,"prev",prev) - setfield(prev,"next",start) - setfield(start,"next",current) - setfield(current,"prev",start) + setprev(start,prev) + setnext(prev,start) + setnext(start,current) + setprev(current,start) start = startnext startattr = getprop(start,a_syllabe) break @@ -1152,10 +1153,10 @@ function handlers.devanagari_reorder_reph(head,start,kind,lookupname,replacement startnext = getnext(start) head = remove_node(head,start) local prev = getprev(c) - setfield(start,"prev",prev) - setfield(prev,"next",start) - setfield(start,"next",c) - setfield(c,"prev",start) + setprev(start,prev) + setnext(prev,start) + setnext(start,c) + setprev(c,start) -- end start = startnext startattr = getprop(start,a_syllabe) @@ -1174,11 +1175,11 @@ function handlers.devanagari_reorder_reph(head,start,kind,lookupname,replacement head = remove_node(head,start) local next = getnext(current) if next then - setfield(next,"prev",start) + setprev(next,start) end - setfield(start,"next",next) - setfield(current,"next",start) - setfield(start,"prev",current) + setnext(star,next) + setnext(current,start) + setprev(start,current) start = startnext end end @@ -1217,11 +1218,11 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start,k removenode(start,start) local next = getnext(current) if next then - setfield(next,"prev",start) + setprev(next,start) end - setfield(start,"next",next) - setfield(current,"next",start) - setfield(start,"prev",current) + setnext(start,next) + setnext(current,start) + setprev(start,current) start = startnext break end @@ -1235,10 +1236,10 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start,k startnext = getnext(start) removenode(start,start) local prev = getprev(current) - setfield(start,"prev",prev) - setfield(prev,"next",start) - setfield(start,"next",current) - setfield(current,"prev",start) + setprev(start,prev) + setnext(prev,start) + setnext(start,current) + setprev(current,start) start = startnext break end @@ -1260,12 +1261,12 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme end end if stop then - setfield(getfield(stop,"prev"),"next",nil) - setfield(stop,"prev",getprev(start)) + setnext(getprev(stop),nil) + setprev(stop,getprev(start)) end local prev = getprev(start) if prev then - setfield(prev,"next",stop) + setnext(prev,stop) end if head == start then head = stop @@ -1566,7 +1567,7 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa next = getnext(current) local tmp = getnext(next) local changestop = next == stop - setfield(next,"next",nil) + setnext(next,nil) setprop(current,a_state,s_pref) current = processcharacters(current,font) setprop(current,a_state,s_blwf) @@ -1575,13 +1576,13 @@ local function dev2_reorder(head,start,stop,font,attr,nbspaces) -- maybe do a pa current = processcharacters(current,font) setprop(current,a_state,unsetvalue) if halant[getchar(current)] then - setfield(getnext(current),"next",tmp) + setnext(getnext(current),tmp) local nc = copy_node(current) copyinjection(nc,current) - setfield(current,"char",dotted_circle) + setchar(current,dotted_circle) head = insert_node_after(head,current,nc) else - setfield(current,"next",tmp) -- assumes that result of pref, blwf, or pstf consists of one node + setnext(current,tmp) -- assumes that result of pref, blwf, or pstf consists of one node if changestop then stop = current end @@ -1647,8 +1648,8 @@ if tpm then local extra = copy_node(current) copyinjection(extra,current) char = tpm[1] - setfield(current,"char",char) - setfield(extra,"char",tpm[2]) + setchar(current,char) + setchar(extra,tpm[2]) head = insert_node_after(head,current,extra) end -- @@ -1658,10 +1659,10 @@ end local prev = getprev(current) local next = getnext(current) if prev then - setfield(prev,"next",next) + setnext(prev,next) end if next then - setfield(next,"prev",prev) + setprev(next,prev) end if current == stop then stop = getprev(current) @@ -1674,11 +1675,11 @@ end end local prev = getprev(halfpos) if prev then - setfield(prev,"next",current) + setnext(prev,current) end - setfield(current,"prev",prev) - setfield(halfpos,"prev",current) - setfield(current,"next",halfpos) + setprev(current,prev) + setprev(halfpos,current) + setnext(current,halfpos) halfpos = current elseif above_mark[char] then -- After main consonant target = basepos @@ -1704,21 +1705,21 @@ end if prev ~= target then local next = getnext(current) if prev then -- not needed, already tested with target - setfield(prev,"next",next) + setnext(prev,next) end if next then - setfield(next,"prev",prev) + setprev(next,prev) end if current == stop then stop = prev end local next = getnext(target) if next then - setfield(next,"prev",current) + setprev(next,current) end - setfield(current,"next",next) - setfield(target,"next",current) - setfield(current,"prev",target) + setnext(current,next) + setnext(target,current) + setprev(current,target) end end end @@ -1747,17 +1748,17 @@ end end local prev = getprev(c) if prev then - setfield(prev,"next",next) + setnext(prev,next) end - setfield(next,"prev",prev) + setprev(next,prev) local nextnext = getnext(next) - setfield(current,"next",nextnext) + setnext(current,nextnext) local nextnextnext = getnext(nextnext) if nextnextnext then - setfield(nextnextnext,"prev",current) + setprev(nextnextnext,current) end - setfield(c,"prev",nextnext) - setfield(nextnext,"next",c) + setprev(c,nextnext) + setnext(nextnext,c) end if stop == current then break end current = getnext(current) @@ -2082,9 +2083,9 @@ local function inject_syntax_error(head,current,mark) local signal = copy_node(current) copyinjection(signal,current) if mark == pre_mark then - setfield(signal,"char",dotted_circle) + setchar(signal,dotted_circle) else - setfield(current,"char",dotted_circle) + setchar(current,dotted_circle) end return insert_node_after(head,current,signal) end diff --git a/tex/context/base/lang-ini.mkiv b/tex/context/base/lang-ini.mkiv index cfe3f84b8..8ff41b287 100644 --- a/tex/context/base/lang-ini.mkiv +++ b/tex/context/base/lang-ini.mkiv @@ -90,7 +90,6 @@ \def\defaultlanguage#1% {\ifcsname\??language#1\s!default\endcsname - %\expandafter\defaultlanguage\csname\??language#1\s!default\endcsname \expandafter\defaultlanguage\lastnamedcs \else #1% @@ -125,38 +124,29 @@ \def\languageparameter#1% {\ifcsname\??language\currentlanguage#1\endcsname - %\csname\??language\currentlanguage#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \else\ifcsname\??language\currentlanguage\s!default\endcsname - %\expandafter\specificlanguageparameter\csname\??language\currentlanguage\s!default\endcsname{#1}% \expandafter\specificlanguageparameter\lastnamedcs{#1}% \else\ifcsname\??language\s!default#1\endcsname - %\csname\??language\s!default#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \fi\fi\fi} \def\specificlanguageparameter#1#2% {\ifcsname\??language#1#2\endcsname - %\csname\??language#1#2\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \else\ifcsname\??language#1\s!default\endcsname - %\expandafter\specificlanguageparameter\csname\??language#1\s!default\endcsname{#2}% \expandafter\specificlanguageparameter\lastnamedcs{#2}% \else\ifcsname\??language\s!default#2\endcsname - %\csname\??language\s!default#2\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \fi\fi\fi} \def\mainlanguageparameter#1% {\ifcsname\??language\currentmainlanguage#1\endcsname - %\csname\??language\currentmainlanguage#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \else\ifcsname\??language\currentmainlanguage\s!default\endcsname - %\expandafter\specificlanguageparameter\csname\??language\currentmainlanguage\s!default\endcsname{#1}% \expandafter\specificlanguageparameter\lastnamedcs{#1}% \else\ifcsname\??language\s!default#1\endcsname - %\csname\??language\s!default#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \fi\fi\fi} \let\usedlanguageparameter\languageparameter @@ -172,14 +162,11 @@ \def\askedlanguageparameter#1% assumes \currentusedlanguage being set {\ifcsname\??language\currentusedlanguage#1\endcsname - %\csname\??language\currentusedlanguage#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \else\ifcsname\??language\currentusedlanguage\s!default\endcsname - %\expandafter\specificlanguageparameter\csname\??language\currentusedlanguage\s!default\endcsname{#1}% \expandafter\specificlanguageparameter\lastnamedcs{#1}% \else\ifcsname\??language\s!default#1\endcsname - %\csname\??language\s!default#1\endcsname - \expandafter\empty\lastnamedcs + \lastnamedcs \fi\fi\fi} \unexpanded\def\setlanguageparameter#1% diff --git a/tex/context/base/lang-mis.mkiv b/tex/context/base/lang-mis.mkiv index 87b58b303..8b55c712e 100644 --- a/tex/context/base/lang-mis.mkiv +++ b/tex/context/base/lang-mis.mkiv @@ -198,8 +198,8 @@ %unexpanded\def\handlemathmodediscretionary#1{\executeifdefined{\??discretionarymath\detokenize{#1}}\donothing} %unexpanded\def\handletextmodediscretionary#1{\executeifdefined{\??discretionarytext\detokenize{#1}}\donothing} -\unexpanded\def\handlemathmodediscretionary#1{\\ifcsname\??discretionarymath\detokenize{#1}\endcsname\lastnamedcs} -\unexpanded\def\handletextmodediscretionary#1{\\ifcsname\??discretionarytext\detokenize{#1}\endcsname\lastnamedcs} +\unexpanded\def\handlemathmodediscretionary#1{\ifcsname\??discretionarymath\detokenize{#1}\endcsname\lastnamedcs} +\unexpanded\def\handletextmodediscretionary#1{\ifcsname\??discretionarytext\detokenize{#1}\endcsname\lastnamedcs} \unexpanded\def\installdiscretionaries#1#2{\writestatus\m!system{use \string \installdiscretionary}} % obsolete diff --git a/tex/context/base/luat-run.lua b/tex/context/base/luat-run.lua index 65cf0f338..54450b28d 100644 --- a/tex/context/base/luat-run.lua +++ b/tex/context/base/luat-run.lua @@ -136,7 +136,7 @@ local synctex = 0 directives.register("system.synctex", function(v) synctex = tonumber(v) or (toboolean(v,true) and 1) or (v == "zipped" and 1) or (v == "unzipped" and -1) or 0 if synctex ~= 0 then - report_system("synctex functionality is enabled (%s)!",tostring(synctex)) + report_system("synctex functionality is enabled (%s), expect runtime overhead!",tostring(synctex)) else report_system("synctex functionality is disabled!") end diff --git a/tex/context/base/page-lin.mkvi b/tex/context/base/page-lin.mkvi index 0f12384a7..3f88f66aa 100644 --- a/tex/context/base/page-lin.mkvi +++ b/tex/context/base/page-lin.mkvi @@ -94,7 +94,8 @@ \def\page_lines_setup {\ifcsname \??linenumberinginstance\currentlinenumbering\endcsname \clf_setuplinenumbering - \csname\??linenumberinginstance\currentlinenumbering\endcsname + %\csname\??linenumberinginstance\currentlinenumbering\endcsname + \lastnamedcs {% continue {\ifnum\c_page_lines_mode=\zerocount\v!yes\else\v!no\fi}% start \linenumberingparameter\c!start diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index e036704e0..1a5ea6745 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 3a178e16c..9ef03dd14 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-lnt.mkvi b/tex/context/base/strc-lnt.mkvi index e7f84ea19..cd10c9def 100644 --- a/tex/context/base/strc-lnt.mkvi +++ b/tex/context/base/strc-lnt.mkvi @@ -142,8 +142,8 @@ % we keep things local so we can use it as regular note too \edef\currentnotation{#1}% \edef\currentlinenotereference{#2}% - \xdef\m_page_lines_previous_from{\csname\??linenotespreviousfrom\ifcsname\??linenotespreviousfrom\currentnotation\endcsname\currentnotation\fi\endcsname}% - \xdef\m_page_lines_previous_to {\csname\??linenotespreviousto \ifcsname\??linenotespreviousto \currentnotation\endcsname\currentnotation\fi\endcsname}% + \xdef\m_page_lines_previous_from{\begincsname\??linenotespreviousfrom\currentnotation\endcsname}% + \xdef\m_page_lines_previous_to {\begincsname\??linenotespreviousto \currentnotation\endcsname}% \strc_linenotes_check_compression \let\currentnote\currentnotation \letnotationparameter\c!numbercommand\linenotelinenumber% todo: deep hook diff --git a/tex/context/base/x-mathml.mkiv b/tex/context/base/x-mathml.mkiv index daeae97b6..d0c1aaa8a 100644 --- a/tex/context/base/x-mathml.mkiv +++ b/tex/context/base/x-mathml.mkiv @@ -2361,10 +2361,12 @@ \edef\mmlovercommand {\utfmathcommandabove\mmlovertoken} \edef\mmlbasecommand {\mmlovercommand\mmlundercommand} \ifcsname\mmlbasecommand\endcsname - \csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} + %\csname\mmlbasecommand\endcsname{\mmlfencedfirst{#1}} + \lastnamedcs {\mmlfencedfirst{#1}} \else\ifcsname\mmlundercommand\endcsname \ifcsname\mmlovercommand\endcsname - \csname\mmlovercommand\endcsname {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} + %\csname\mmlovercommand\endcsname{\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} + \lastnamedcs {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} \else \mmldoubletriplet {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} {\mmlfencedthird{#1}\mmlfencedthird{#1}} {} \fi @@ -2378,7 +2380,8 @@ \edef\mmlundercommand{\utfmathcommandbelow\mmlundertoken} \edef\mmlbasecommand {\mmlundercommand text} \ifcsname\mmlbasecommand\endcsname - \csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedthird{#1}} + %\csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedthird{#1}} + \lastnamedcs {\mmlfencedfirst{#1}} {\mmlfencedthird{#1}} \else\ifcsname\mmlundercommand\endcsname \mmldoubletriplet {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} {\mmlfencedthird{#1}} {} \else @@ -2389,7 +2392,8 @@ \edef\mmlovercommand{\utfmathcommandabove\mmlovertoken} \edef\mmlbasecommand{\mmlovercommand text} \ifcsname\mmlbasecommand\endcsname - \csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedsecond{#1}} + %\csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedsecond{#1}} + \lastnamedcs {\mmlfencedfirst{#1}} {\mmlfencedsecond{#1}} \else\ifcsname\mmlovercommand\endcsname \mmldoubletriplet {\csname\mmlovercommand\endcsname{\mmlfencedfirst{#1}}} {} {\mmlfencedsecond{#1}} \else @@ -2412,7 +2416,6 @@ \edef\mmlbasecommand{e\utfmathcommandfiller\mmlbasetoken}% \mmlexecuteifdefined\mmlbasecommand \relax {\mmlfencedthird{#1}} {\mmlfencedsecond{#1}} \stoptexdefinition - \startxmlsetups mml:munderover \edef\mmlbasetoken{\mmlextensible{\xmlraw{#1}{/mml:*[1]}}}% /text() \doifelseutfmathfiller\mmlbasetoken \mmlunderoverbasefiller \mmlunderoveraccentchecker {#1} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index d4707d5c1..f0ac3961f 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 : 12/19/15 22:10:54 +-- merge date : 12/20/15 00:29:13 do -- begin closure to overcome local limits and interference -- cgit v1.2.3