summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-11-25 18:12:33 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-11-25 18:12:33 +0100
commit07d4b092099bc8b5af53806fee049309dec3f888 (patch)
treeacdce48b65ef6ca4e8ad661cae32441773af3111 /tex
parent8bd2c828616004e3ba3df597f4eb212bfb4102a8 (diff)
downloadcontext-07d4b092099bc8b5af53806fee049309dec3f888.tar.gz
2020-11-25 16:56:00
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-ots.lua5
-rw-r--r--tex/context/base/mkiv/node-gcm.lua5
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin26167 -> 26177 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin256292 -> 256376 bytes
-rw-r--r--tex/context/base/mkxl/back-pdf.mkxl2
-rw-r--r--tex/context/base/mkxl/buff-ver.mkxl4
-rw-r--r--tex/context/base/mkxl/colo-ini.mkxl1
-rw-r--r--tex/context/base/mkxl/cont-log.mkxl2
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/font-ini.mklx22
-rw-r--r--tex/context/base/mkxl/font-sty.mklx2
-rw-r--r--tex/context/base/mkxl/lang-ini.mkxl4
-rw-r--r--tex/context/base/mkxl/node-bck.mkxl22
-rw-r--r--tex/context/base/mkxl/node-gcm.lmt6
-rw-r--r--tex/context/base/mkxl/node-rul.mkxl68
-rw-r--r--tex/context/base/mkxl/page-mcl.mkxl7
-rw-r--r--tex/context/base/mkxl/page-txt.mklx2
-rw-r--r--tex/context/base/mkxl/scrn-wid.mklx8
-rw-r--r--tex/context/base/mkxl/spac-ver.lmt4
-rw-r--r--tex/context/base/mkxl/spac-ver.mkxl32
-rw-r--r--tex/context/base/mkxl/strc-des.mklx2
-rw-r--r--tex/context/base/mkxl/strc-itm.mklx2
-rw-r--r--tex/context/base/mkxl/tabl-ntb.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-dir.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-prc.mklx2
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua5
31 files changed, 113 insertions, 112 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index acb4fe4bc..07b8c55e1 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2020.11.24 18:58}
+\newcontextversion{2020.11.25 16:53}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index ff9f1ef08..d3a0b269a 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.11.24 18:58}
+\edef\contextversion{2020.11.25 16:53}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index d6fd6fe25..f0ee92bc2 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2020.11.24 18:58}
+\newcontextversion{2020.11.25 16:53}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index d16151db6..2f64747a9 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.11.24 18:58}
+\edef\contextversion{2020.11.25 16:53}
%D Kind of special:
diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua
index bb13a4801..38044cac6 100644
--- a/tex/context/base/mkiv/font-ots.lua
+++ b/tex/context/base/mkiv/font-ots.lua
@@ -218,6 +218,7 @@ local copy_only_glyphs = nuts.copy_only_glyphs
local count_components = nuts.count_components
local set_components = nuts.set_components
local get_components = nuts.get_components
+local flush_components = nuts.flush_components
---------------------------------------------------------------------------------------
@@ -488,6 +489,7 @@ local function markstoligature(head,start,stop,char)
setsubtype(base,ligatureglyph_code)
set_components(base,start)
setlink(prev,base,next)
+ flush_components(start)
return head, base
end
end
@@ -515,6 +517,8 @@ local has_glyph_option = node.direct.has_glyph_option or function(n,c)
end
end
+-- in lmtx we need to check the components and can be slightly more clever
+
local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfound,hasmarks) -- brr head
if has_glyph_option(start,no_right_ligature_code) then
return head, start
@@ -586,6 +590,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
break
end
end
+ flush_components(components)
else
-- discfound ... forget about marks .. probably no scripts that hyphenate and have marks
local discprev, discnext = getboth(discfound)
diff --git a/tex/context/base/mkiv/node-gcm.lua b/tex/context/base/mkiv/node-gcm.lua
index 1085f637f..5b598f6b0 100644
--- a/tex/context/base/mkiv/node-gcm.lua
+++ b/tex/context/base/mkiv/node-gcm.lua
@@ -81,11 +81,16 @@ local function count_components(start,marks)
return 0
end
+local function flush_components()
+ -- this is a no-op in mkiv / generic
+end
+
nuts.set_components = set_components
nuts.get_components = get_components
nuts.copy_only_glyphs = copy_only_glyphs
nuts.copy_no_components = copy_no_components
nuts.count_components = count_components
+nuts.flush_components = flush_components
nuts.setcomponents = function() report_error("unsupported: %a","setcomponents") end
nuts.getcomponents = function() report_error("unsupported: %a","getcomponents") end
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index fb6af0b89..e6b9a8894 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 350261887..75f6a775a 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkxl/back-pdf.mkxl b/tex/context/base/mkxl/back-pdf.mkxl
index 1ce97cede..18aa8354b 100644
--- a/tex/context/base/mkxl/back-pdf.mkxl
+++ b/tex/context/base/mkxl/back-pdf.mkxl
@@ -126,7 +126,7 @@
\permanent\protected\def\pdfbackendsetshade #1#2{\clf_lpdf_adddocumentshade{#1}{#2}}
\permanent \def\pdfbackendcurrentresources {\clf_lpdf_collectedresources}
-\permanent \def\pdfcolor #1{\clf_lpdf_color\numexpr\thecolorattribute{#1}\relax}
+\permanent \def\pdfcolor #1{\clf_lpdf_color\numexpr\rawcolorattribute{#1}\relax}
%D This is a temporary hack mthat will be removed, improved or somehow can become
%D default.
diff --git a/tex/context/base/mkxl/buff-ver.mkxl b/tex/context/base/mkxl/buff-ver.mkxl
index 8ca44a956..3df572702 100644
--- a/tex/context/base/mkxl/buff-ver.mkxl
+++ b/tex/context/base/mkxl/buff-ver.mkxl
@@ -836,8 +836,8 @@
\permanent\protected\def\typeinlinebuffer
{\dontleavehmode
\begingroup
- \let\buff_verbatim_type_buffer_indeed\buff_verbatim_type_buffer_indeed_inline
- \let\setupcurrenttyping\setupcurrenttype % a terrible hack but it saves code
+ \enforced\let\buff_verbatim_type_buffer_indeed\buff_verbatim_type_buffer_indeed_inline
+ \enforced\let\setupcurrenttyping\setupcurrenttype % a terrible hack but it saves code
\let\currenttype\empty
\buff_verbatim_type_buffer}
diff --git a/tex/context/base/mkxl/colo-ini.mkxl b/tex/context/base/mkxl/colo-ini.mkxl
index 15cedb51d..b71ac42d9 100644
--- a/tex/context/base/mkxl/colo-ini.mkxl
+++ b/tex/context/base/mkxl/colo-ini.mkxl
@@ -1250,6 +1250,7 @@
\colo_helpers_inherited_current_ca{#1} %
\colo_helpers_inherited_current_ta{#1} }
+\permanent\def\rawcolormodelattribute {\c_attr_colormodel}
\permanent\def\thecolormodelattribute {\the\c_attr_colormodel}
\permanent\def\rawcolorattribute #1{\ifcsname\??colorattribute \currentcolorprefix#1\endcsname\lastnamedcs\orelse\ifcsname\??colorattribute #1\endcsname\lastnamedcs\else\zerocount\fi}
diff --git a/tex/context/base/mkxl/cont-log.mkxl b/tex/context/base/mkxl/cont-log.mkxl
index 3d110c648..12d0d06de 100644
--- a/tex/context/base/mkxl/cont-log.mkxl
+++ b/tex/context/base/mkxl/cont-log.mkxl
@@ -213,7 +213,7 @@
\ifx\fontalternative\s!it\syst_logos_xetex_e\orelse
\ifx\fontalternative\s!sl\syst_logos_xetex_e\orelse
\ifx\fontalternative\s!bi\syst_logos_xetex_e\orelse
- \ifx\fontalternative\s!bs\syst_logos_xetex_e\orelse
+ \ifx\fontalternative\s!bs\syst_logos_xetex_e\else
\mirror{E}\fi
\fi}%
\kern-.1667\emwidth\TeX}
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index e8fd03810..facf1f03a 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2020.11.24 18:58}
+\newcontextversion{2020.11.25 16:53}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index fa3d1ecd3..1c9a0c02f 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2020.11.24 18:58}
+\edef\contextversion{2020.11.25 16:53}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/font-ini.mklx b/tex/context/base/mkxl/font-ini.mklx
index 0e3c414d5..9278183a8 100644
--- a/tex/context/base/mkxl/font-ini.mklx
+++ b/tex/context/base/mkxl/font-ini.mklx
@@ -1706,7 +1706,7 @@
\ifdefined\trycurrentfontclass \else
\protected\def\trycurrentfontclass#typeface%
- {\letvalueempty{\??fontclassnop#typeface}}
+ {\letcsname\??fontclassnop#typeface\endcsname\empty}
\fi
@@ -2282,7 +2282,7 @@
%D The next auxilliary macro is an alternative to \type {\fontname}.
-\def\purefontname#font{\clf_purefontname{\fontname#font}}
+\permanent\def\purefontname#font{\clf_purefontname{\fontname#font}}
%D \macros
%D {switchstyleonly}
@@ -2360,7 +2360,7 @@
%D the running text is temporary set to a smaller one|>| by saying \type
%D {\switchtobodyfont [global]}.
-\let\globalfontstyle\s!rm
+\mutable\let\globalfontstyle\s!rm
\permanent\protected\def\fullrestoreglobalbodyfont
{\let\fontsize\defaultfontsize
@@ -2426,7 +2426,7 @@
{\ifcsname\??predefinedfont#1\endcsname
\lastnamedcs
\else
- \font_basics_predefined{#1}%
+ \definedfont[#1]%
\fi}
\protected\def\font_basics_predefine#1#2%
@@ -2445,8 +2445,8 @@
\xdef\saveddefinedfontname{\fontname\font}%
\egroup}
-\def\saveddefinedfontid {\number\fontid\font}
-\def\saveddefinedfontname{\fontname\font}
+\mutable\def\saveddefinedfontid {\number\fontid\font}
+\mutable\def\saveddefinedfontname{\fontname\font}
%D Ugly helper:
@@ -2458,17 +2458,17 @@
\c_attr_transparency\the\c_attr_transparency
\relax}}
-\let\restorerunningstyleandcolor\relax
+\aliased\let\restorerunningstyleandcolor\relax
%D Handy for defining additional glyphs:
% todo: public implementors
-\let\getprivateglyphslot\clf_getprivateglyphslot % kind of private macro
+\aliased\let\getprivateglyphslot\clf_getprivateglyphslot % kind of private macro
-\let\getprivatechar \clf_getprivatechar % gives back a utf !
-\let\getprivatemathchar \clf_getprivatemathchar % gives back a utf !
-\let\getprivateslot \clf_getprivateslot % companion to fonts.helpers.addprivate
+\aliased\let\getprivatechar \clf_getprivatechar % gives back a utf !
+\aliased\let\getprivatemathchar \clf_getprivatemathchar % gives back a utf !
+\aliased\let\getprivateslot \clf_getprivateslot % companion to fonts.helpers.addprivate
% \protected\def\getprivatemathchar#1%
% {\begingroup\the\textfont\zerocount\getprivatechar{#1}\endgroup}
diff --git a/tex/context/base/mkxl/font-sty.mklx b/tex/context/base/mkxl/font-sty.mklx
index 01c02665e..db7b69e48 100644
--- a/tex/context/base/mkxl/font-sty.mklx
+++ b/tex/context/base/mkxl/font-sty.mklx
@@ -58,7 +58,7 @@
% maybe permanent
\def\font_basics_define_alternative_style_indeed#variantone#varianttwo#command%
- {\setuvalue{\??alternativestyle#command}{\font_helpers_apply_alternative_style{#variantone}{#varianttwo}}%
+ {\protected\defcsname\??alternativestyle#command\endcsname{\font_helpers_apply_alternative_style{#variantone}{#varianttwo}}%
\ifcsname#command\endcsname
% no redefinition
\orelse\ifnum\c_fonts_basics_alternative_style_method=\plusone
diff --git a/tex/context/base/mkxl/lang-ini.mkxl b/tex/context/base/mkxl/lang-ini.mkxl
index 9c55bcee3..b32ae4c30 100644
--- a/tex/context/base/mkxl/lang-ini.mkxl
+++ b/tex/context/base/mkxl/lang-ini.mkxl
@@ -209,8 +209,8 @@
\fi}
\def\lang_basics_install_indeed#1#2%
- {\ifcstok{\specificlanguageparameter{#1}\c!command}\v!no\else
- \ifcsname#1\endcsname\else\frozen\instance\setuvalue{#1}{\lang_basics_set_current[#2]}\fi
+ {\ifcstok{\specificlanguageparameter{#1}\c!command}\v!no\orelse\ifcsname#1\endcsname\else
+ \frozen\instance\protected\defcsname#1\endcsname{\lang_basics_set_current[#2]}%
\fi}
%D When the second argument is a language identifier, a synonym is created. This
diff --git a/tex/context/base/mkxl/node-bck.mkxl b/tex/context/base/mkxl/node-bck.mkxl
index e37d65b1c..0da516c88 100644
--- a/tex/context/base/mkxl/node-bck.mkxl
+++ b/tex/context/base/mkxl/node-bck.mkxl
@@ -36,12 +36,12 @@
\def\node_backgrounds_thecolorattr#1%
{attr \colormodelattribute \c_attr_colormodel
attr \colorattribute \lastnamedcs
- attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized
+ attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized
\permanent\def\thecolorattr#1%
{attr \colormodelattribute \c_attr_colormodel
attr \colorattribute \csname\??colorattribute#1\endcsname
- attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized
+ attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized
\permanent\def\backgroundcolorattr#1%
{\ifcsname\??colorattribute\currentcolorprefix#1\endcsname
@@ -54,37 +54,25 @@
{attr \backgroundattribute \plusone
attr \colormodelattribute \c_attr_colormodel
attr \colorattribute \csname\??colorattribute#1\endcsname
- attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized
+ attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized
\def\node_backgrounds_thebackgroundcolorattr#1%
{attr \backgroundattribute \plusone
attr \colormodelattribute \c_attr_colormodel
attr \colorattribute \lastnamedcs
- attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized
+ attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized
\permanent\def\thealignbackgroundcolorattr#1%
{attr \alignbackgroundattribute \plusone
attr \colormodelattribute \c_attr_colormodel
attr \colorattribute \csname\??colorattribute#1\endcsname
- attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized
+ attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized
\permanent\protected\def\backgroundhbox{\node_backgrounds_boxes_add\hbox}
\permanent\protected\def\backgroundvbox{\node_backgrounds_boxes_add\vbox}
\permanent\protected\def\backgroundvtop{\node_backgrounds_boxes_add\vtop}
\permanent\protected\def\backgroundline{\dontleavehmode\node_backgrounds_boxes_add\hbox}
-% \def\node_backgrounds_boxes_add#1[#2]%
-% {\begingroup
-% \clf_enablebackgroundboxes
-% \dousecolorparameter{#2}%
-% \normalexpanded{\endgroup#1
-% attr \backgroundattribute \plusone
-% attr \colormodelattribute \the\c_attr_colormodel
-% attr \colorattribute \the\c_attr_color
-% attr \transparencyattribute \the\c_attr_transparency}}
-%
-% more efficient:
-
\def\node_backgrounds_boxes_add#1[#2]%
{\clf_enablebackgroundboxes
#1\backgroundcolorattr{#2}}
diff --git a/tex/context/base/mkxl/node-gcm.lmt b/tex/context/base/mkxl/node-gcm.lmt
index 8b09fb82b..7f2a7bded 100644
--- a/tex/context/base/mkxl/node-gcm.lmt
+++ b/tex/context/base/mkxl/node-gcm.lmt
@@ -37,8 +37,9 @@ local function set_components(base,list)
end
list = getnext(list)
end
- -- was forgotten:
- flush_list(l)
+ -- not yet as we need them
+ --
+ -- flush_list(l)
--
setprop(base,"components",n > 0 and t or false)
end
@@ -107,6 +108,7 @@ nuts.get_components = get_components
nuts.copy_only_glyphs = copy_only_glyphs
nuts.copy_no_components = copy_no_components
nuts.count_components = count_components
+nuts.flush_components = flush_list
nuts.setcomponents = function() report_error("unsupported: %a","setcomponents") end
nuts.getcomponents = function() report_error("unsupported: %a","getcomponents") end
diff --git a/tex/context/base/mkxl/node-rul.mkxl b/tex/context/base/mkxl/node-rul.mkxl
index f0f660f22..2ded50c77 100644
--- a/tex/context/base/mkxl/node-rul.mkxl
+++ b/tex/context/base/mkxl/node-rul.mkxl
@@ -116,27 +116,28 @@
\ifx\p_node_text\empty\else
\setbox\b_node_rules\hbox{\p_node_text}%
\fi
- \setevalue{\??barattribute\currentbar}{\number
+ \expandafter\integerdef\csname\??barattribute\currentbar\endcsname
\clf_definerule
- continue {\barparameter\c!continue}%
- unit {\barparameter\c!unit}%
- order {\barparameter\c!order}%
- rulethickness {\barparameter\c!rulethickness}%
- method \barparameter\c!method
- max \barparameter\c!max\space % number
- mp {\includeMPgraphic{\barparameter\c!mp}}
- ma \thecolormodelattribute
- ca \thecolorattribute\p_node_rules_color
- ta \thetransparencyattribute\p_node_rules_color
- offset \barparameter\c!offset\space % number
- dy \barparameter\c!dy\space % number
- empty {\barparameter\c!empty}%
+ continue {\barparameter\c!continue}%
+ unit {\barparameter\c!unit}%
+ order {\barparameter\c!order}%
+ rulethickness {\barparameter\c!rulethickness}%
+ method \barparameter\c!method
+ max \barparameter\c!max\space % number
+ mp {\includeMPgraphic{\barparameter\c!mp}}
+ ma \c_attr_colormodel
+ ca \rawcolorattribute\p_node_rules_color
+ ta \rawtransparencyattribute\p_node_rules_color
+ offset \barparameter\c!offset\space % number
+ dy \barparameter\c!dy\space % number
+ empty {\barparameter\c!empty}%
\ifx\p_node_text\empty\else
- % not that useful and efficient, more for testing something
- text \b_node_rules
- repeat {\barparameter\c!repeat}%
+ % not that useful and efficient, more for testing something
+ text \b_node_rules
+ repeat {\barparameter\c!repeat}%
\fi
- \relax}}
+ \relax
+ \relax}
\protected\def\node_rules_redefine#1%
{\def\currentbar{#1}\node_rules_define}
@@ -498,21 +499,22 @@
\protected\def\node_linefiller_define
{\edef\p_node_rules_color{\linefillerparameter\c!color}%
- \setevalue{\??linefillerattribute\currentlinefiller}{\number
- \clf_definelinefiller
- %method \linefillerparameter\c!method
- location {\linefillerparameter\c!location}%
- scope {\linefillerparameter\c!scope}%
- mp {\includeMPgraphic{\linefillerparameter\c!mp}}%
- ma \thecolormodelattribute
- ca \thecolorattribute\p_node_rules_color
- ta \thetransparencyattribute\p_node_rules_color
- height \dimexpr\linefillerparameter\c!height\relax
- depth \dimexpr\linefillerparameter\c!depth\relax
- distance \dimexpr\linefillerparameter\c!distance\relax
- threshold \dimexpr\linefillerparameter\c!threshold\relax
- rulethickness \dimexpr\linefillerparameter\c!rulethickness\relax
- \relax}}
+ \expandafter\integerdef\csname\??linefillerattribute\currentlinefiller\endcsname
+ \clf_definelinefiller
+ %method \linefillerparameter\c!method
+ location {\linefillerparameter\c!location}%
+ scope {\linefillerparameter\c!scope}%
+ mp {\includeMPgraphic{\linefillerparameter\c!mp}}%
+ ma \c_attr_colormodel
+ ca \rawcolorattribute\p_node_rules_color
+ ta \rawtransparencyattribute\p_node_rules_color
+ height \dimexpr\linefillerparameter\c!height\relax
+ depth \dimexpr\linefillerparameter\c!depth\relax
+ distance \dimexpr\linefillerparameter\c!distance\relax
+ threshold \dimexpr\linefillerparameter\c!threshold\relax
+ rulethickness \dimexpr\linefillerparameter\c!rulethickness\relax
+ \relax
+ \relax}
\protected\def\node_linefiller_redefine#1%
{\def\currentlinefiller{#1}\node_linefiller_define}
diff --git a/tex/context/base/mkxl/page-mcl.mkxl b/tex/context/base/mkxl/page-mcl.mkxl
index 3cac820c2..cff4a6a63 100644
--- a/tex/context/base/mkxl/page-mcl.mkxl
+++ b/tex/context/base/mkxl/page-mcl.mkxl
@@ -529,11 +529,8 @@
\let\strc_itemgroups_start_columns_old\strc_itemgroups_start_columns
\let\strc_itemgroups_stop_columns_old \strc_itemgroups_stop_columns
-\def\strc_itemgroups_start_columns_new
- {\startmulticolumns[\c!n=\itemgroupparameter\c!n]}
-
-\def\strc_itemgroups_stop_columns_new
- {\stopmulticolumns}
+\def\strc_itemgroups_start_columns_new{\startmulticolumns[\c!n=\itemgroupparameter\c!n]}
+\def\strc_itemgroups_stop_columns_new {\stopmulticolumns}
\installtexexperiment
{itemize.columns}
diff --git a/tex/context/base/mkxl/page-txt.mklx b/tex/context/base/mkxl/page-txt.mklx
index f8c77e572..5980277c3 100644
--- a/tex/context/base/mkxl/page-txt.mklx
+++ b/tex/context/base/mkxl/page-txt.mklx
@@ -405,7 +405,7 @@
\resetlayoutelementparameter\c!righttext
\or % 3
\edef\currentlayoutelement{#vertical:#horizontal}%
- \letvalueempty{\layoutelementhash\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext}%
+ \letcsname\layoutelementhash\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext\endcsname\empty
\fi}
\letvalue{\??layouttextcontent\v!text:\c!middle}\c!middletext
diff --git a/tex/context/base/mkxl/scrn-wid.mklx b/tex/context/base/mkxl/scrn-wid.mklx
index 40bf95cf5..b35391d19 100644
--- a/tex/context/base/mkxl/scrn-wid.mklx
+++ b/tex/context/base/mkxl/scrn-wid.mklx
@@ -190,8 +190,8 @@
depth \dimexpr\currentattachmentdepth \relax
color {\attachmentparameter\c!color}%
colormodel \c_attr_colormodel
- colorvalue \numexpr\thecolorattribute{\attachmentparameter\c!color}\relax % or are these chardefs
- transparencyvalue \numexpr\thetransparencyattribute{\attachmentparameter\c!color}\relax % or are these chardefs
+ colorvalue \rawcolorattribute{\attachmentparameter\c!color}%
+ transparencyvalue \rawtransparencyattribute{\attachmentparameter\c!color}%
symbol {\currentattachmentsymbol}%
layer {\attachmentparameter\c!textlayer}%
% these will be overloaded by registered when available
@@ -478,8 +478,8 @@
nx {\commentparameter\c!nx}%
ny {\commentparameter\c!ny}%
colormodel \c_attr_colormodel
- colorvalue \numexpr\thecolorattribute{\commentparameter\c!color}\relax
- transparencyvalue \numexpr\thetransparencyattribute{\commentparameter\c!color}\relax
+ colorvalue \rawcolorattribute{\commentparameter\c!color}%
+ transparencyvalue \rawtransparencyattribute{\commentparameter\c!color}%
option {\commentparameter\c!option}% % todo
symbol {\commentparameter\c!symbol}%
buffer {\commentparameter\c!buffer}% {\v!comment}%
diff --git a/tex/context/base/mkxl/spac-ver.lmt b/tex/context/base/mkxl/spac-ver.lmt
index 90eeacf26..f3fa78ddd 100644
--- a/tex/context/base/mkxl/spac-ver.lmt
+++ b/tex/context/base/mkxl/spac-ver.lmt
@@ -804,7 +804,7 @@ do
end
local function after()
- if fixed then
+ if b_fixed then
b_stretch = 0
b_shrink = 0
else
@@ -924,7 +924,7 @@ do
end
b_done = false
b_packed = false
- b_grid = gridsnapping
+ b_grid = grid
before()
lpegmatch(pattern,str)
after()
diff --git a/tex/context/base/mkxl/spac-ver.mkxl b/tex/context/base/mkxl/spac-ver.mkxl
index 3e68016cc..f2bb68093 100644
--- a/tex/context/base/mkxl/spac-ver.mkxl
+++ b/tex/context/base/mkxl/spac-ver.mkxl
@@ -402,7 +402,7 @@
\fi}
\permanent\protected\def\installwhitespacemethod#1#2%
- {\setvalue{\??whitespacemethod#1}{#2}}
+ {\defcsname\??whitespacemethod#1\endcsname{#2}}
\installwhitespacemethod \v!fix {}
\installwhitespacemethod \v!fixed {\setfalse\c_spac_whitespace_flexible}
@@ -1489,8 +1489,8 @@
\newdimen \globalbodyfontstrutheight
\newdimen \globalbodyfontstrutdepth
-\permanent\def\snappedvboxattribute{\ifgridsnapping attr\snapvboxattribute\c_attr_snapmethod\fi}
-\permanent\def\setlocalgridsnapping{\ifgridsnapping \c_attr_snapvbox \c_attr_snapmethod\fi}
+\permanent\def\snappedvboxattribute{\ifgridsnapping attr\snapvboxattribute\c_attr_snapmethod\fi}
+\permanent\def\setlocalgridsnapping{\ifgridsnapping \c_attr_snapvbox \c_attr_snapmethod\fi}
\def\spac_grids_set_local_snapping#1%
{\ifgridsnapping
@@ -1502,9 +1502,7 @@
\def\spac_grids_expand_snapper#1%
{\edef\m_spac_snapper
{\ifempty\m_spac_snapper\else\m_spac_snapper,\fi
- \ifcsname\??gridsnappersets#1\endcsname
- \lastnamedcs\else#1%
- \fi}}
+ \ifcsname\??gridsnappersets#1\endcsname\lastnamedcs\else#1\fi}}
\permanent\protected\def\installsnapvalues#1#2%
{\let\m_spac_snapper\empty
@@ -1514,10 +1512,10 @@
\scratchcounter\lastnamedcs % already defined
\else
\scratchcounter\clf_definesnapmethod{#1}{\m_spac_snapper}%
- \setevalue{\??gridsnapperattributes\currentsnapper}{\the\scratchcounter}%
+ \edefcsname\??gridsnapperattributes\currentsnapper\endcsname{\the\scratchcounter}%
\fi
- \setevalue{\??gridsnappers#1}{\c_attr_snapmethod\the\scratchcounter\relax}%
- \letvalue{\??gridsnappersets#1}\m_spac_snapper}
+ \edefcsname\??gridsnappers#1\endcsname{\c_attr_snapmethod\the\scratchcounter\relax}%
+ \letcsname\??gridsnappersets#1\endcsname\m_spac_snapper}
\permanent\def\theexpandedsnapperset#1{\begincsname\??gridsnappersets#1\endcsname} % only for manuals
@@ -1900,13 +1898,13 @@
\permanent\tolerant\protected\def\definevspacingamount[#1]#*[#2]#*[#3]% can be combined
{\ifarguments
- %setvalue{\??vspacingamount#1}{\lineheight}%
+ %defcsname\??vspacingamount#1\endcsname{\lineheight}%
\or
- \setvalue{\??vspacingamount#1}{\lineheight}%
+ \defcsname\??vspacingamount#1\endcsname{\lineheight}%
\or
- \setvalue{\??vspacingamount#1}{\ifgridsnapping\lineheight\else#2\fi}%
+ \defcsname\??vspacingamount#1\endcsname{\ifgridsnapping\lineheight\else#2\fi}%
\or
- \setvalue{\??vspacingamount#1}{\ifgridsnapping#3\else#2\fi}%
+ \defcsname\??vspacingamount#1\endcsname{\ifgridsnapping#3\else#2\fi}%
\fi
\clf_vspacingsetamount{#1}}
@@ -2008,7 +2006,7 @@
\fi}
\def\spac_vspacing_yes_preset#1%
- {\setxvalue{\??vspacing#1}{\clf_vspacing{#1}}%
+ {\xdefcsname\??vspacing#1\endcsname{\clf_vspacing{#1}}%
%\writestatus{}{}%
%\writestatus{#1}{\expandafter\meaning\csname\??vspacing#1\endcsname}%
%\writestatus{}{}%
@@ -2205,11 +2203,11 @@
\permanent\tolerant\protected\def\definevspace[#1]#*[#2]#*[#3]%
{\ifarguments
\or
- \letvalue{\??vspace:#1}\empty % or undefined?
+ \letcsname\??vspace:#1\endcsname\empty
\or
- \setvalue{\??vspace:#1}{#2}%
+ \defcsname\??vspace:#1\endcsname{#2}%
\or
- \setvalue{\??vspace#1:#2}{#3}%
+ \defcsname\??vspace#1:#2\endcsname{#3}%
\fi}
\letvalue{\??vspace:\s!unknown}\zeropoint
diff --git a/tex/context/base/mkxl/strc-des.mklx b/tex/context/base/mkxl/strc-des.mklx
index e63512c7f..5ff375e49 100644
--- a/tex/context/base/mkxl/strc-des.mklx
+++ b/tex/context/base/mkxl/strc-des.mklx
@@ -129,7 +129,7 @@
% \description [reference] text \par
% \description [reference] {title} text \par
-\tolerant\protected\def\strc_descriptions_command[#1]#*[#2]#:#*#=%
+\tolerant\protected\def\strc_descriptions_command[#1]#*[#2]%
{\begingroup
\strc_constructions_initialize{#1}%
\ifhastok={#2}%
diff --git a/tex/context/base/mkxl/strc-itm.mklx b/tex/context/base/mkxl/strc-itm.mklx
index a1de95195..df6272310 100644
--- a/tex/context/base/mkxl/strc-itm.mklx
+++ b/tex/context/base/mkxl/strc-itm.mklx
@@ -1754,7 +1754,7 @@
\protected\def\startcollectitems % todo: frozen
{\ifconditional\c_strc_itemgroups_collecting
\c_strc_itemgroups_collected_stored\zerocount
- \letvalue{\e!start\v!item}\strc_itemgroups_collected_store
+ \letcsname\e!start\v!item\endcsname\strc_itemgroups_collected_store
\fi}
%D Left-overs:
diff --git a/tex/context/base/mkxl/tabl-ntb.mkxl b/tex/context/base/mkxl/tabl-ntb.mkxl
index 51e718b9a..67288c83e 100644
--- a/tex/context/base/mkxl/tabl-ntb.mkxl
+++ b/tex/context/base/mkxl/tabl-ntb.mkxl
@@ -838,10 +838,10 @@
%D
%D \typebuffer \getbuffer
-\tolerant\def\tabl_ntb_th[#1]#2\eTH
+\tolerant\def\tabl_ntb_th[#1]#:#2\eTH
{\tabl_ntb_td[#1,\c!color=\naturaltablelocalparameter\c!headcolor,\c!style=\naturaltablelocalparameter\c!headstyle,\c!aligncharacter=\v!no]#2\eTD}
-\tolerant\def\tabl_ntb_tn[#1]#2\eTN
+\tolerant\def\tabl_ntb_tn[#1]#:#2\eTN
{\tabl_ntb_td[#1]\digits#2\relax\eTD}
%D Vit Zyka needed the option to create a distance between columns, so I added
diff --git a/tex/context/base/mkxl/typo-dir.mkxl b/tex/context/base/mkxl/typo-dir.mkxl
index 693a49c18..dd87a7299 100644
--- a/tex/context/base/mkxl/typo-dir.mkxl
+++ b/tex/context/base/mkxl/typo-dir.mkxl
@@ -52,7 +52,7 @@
% maybe use chardefs
\def\typo_dir_get_mode
- {\edef\currentbidimode{\clf_getbidimode
+ {\def\currentbidimode{\clf_getbidimode % test edef
scope {\directionsparameter\c!bidi}%
method {\directionsparameter\c!method}%
fences {\directionsparameter\c!fences}%
diff --git a/tex/context/base/mkxl/typo-prc.mklx b/tex/context/base/mkxl/typo-prc.mklx
index fa8bf2c07..9531949b8 100644
--- a/tex/context/base/mkxl/typo-prc.mklx
+++ b/tex/context/base/mkxl/typo-prc.mklx
@@ -55,7 +55,7 @@
\installcommandhandler \??processor {processor} \??processor
\appendtoks
- \letvalue{\??processorcheck\currentprocessor}\relax
+ \letcsname\??processorcheck\currentprocessor\endcsname\relax
\clf_registerstructureprocessor{\currentprocessor}% global, but it permits using processor that are yet undefined
\to \everydefineprocessor
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 8b4ae8542..bdaa695f5 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-11-24 18:58
+-- merge date : 2020-11-25 16:53
do -- begin closure to overcome local limits and interference
@@ -26627,6 +26627,7 @@ local copy_only_glyphs=nuts.copy_only_glyphs
local count_components=nuts.count_components
local set_components=nuts.set_components
local get_components=nuts.get_components
+local flush_components=nuts.flush_components
local ischar=nuts.ischar
local usesfont=nuts.uses_font
local insert_node_after=nuts.insert_after
@@ -26831,6 +26832,7 @@ local function markstoligature(head,start,stop,char)
setsubtype(base,ligatureglyph_code)
set_components(base,start)
setlink(prev,base,next)
+ flush_components(start)
return head,base
end
end
@@ -26910,6 +26912,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou
break
end
end
+ flush_components(components)
else
local discprev,discnext=getboth(discfound)
if discprev and discnext then