summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/core-syn.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/core-syn.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/core-syn.mkiv51
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/core-syn.mkiv b/Master/texmf-dist/tex/context/base/core-syn.mkiv
new file mode 100644
index 00000000000..23385c9e604
--- /dev/null
+++ b/Master/texmf-dist/tex/context/base/core-syn.mkiv
@@ -0,0 +1,51 @@
+%D \module
+%D [ file=core-syn,
+%D version=1997.03.31,
+%D title=\CONTEXT\ Core Macros,
+%D subtitle=Synonyms and Sorts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\registerctxluafile{core-syn}{1.001}
+
+\appendtoks
+ \immediatewriteutilitytua{if not job.sortedlists then job.sortedlists = { } end}%
+ \immediatewriteutilitytua{local js = job.sortedlists}%
+\to \everyopenutilities
+
+\let\allsortedlists\empty
+
+\appendtoks
+ \processcommacommand[\allsortedlists]\mkdodefinesortedlist
+ \globallet\allsortedlists\empty
+\to \everyopenutilities
+
+\def\mkdodefinesortedlist#1% class
+ {\ctxlua{job.definesortedlist('#1')}%
+ \immediatewriteutilitytua{job.definesortedlist('#1')}}
+
+\def\mkdefinesortedlist#1% class
+ {\mkdodefinesortedlist{#1}%
+ \doglobal\addtocommalist{#1}\allsortedlists}
+
+\def\mksavesortedlistentry#1#2#3#4% class key entry meaning
+ {\immediatewriteutilitytua{ti(js['#1'],{'e','#2',\!!bs#3\!!es,\!!bs#4\!!es})}}
+
+\def\mksavesortedlistvariable#1#2#3% class type value
+ {\immediatewriteutilitytua{ti(js['#1'],{'#2','#3'})}}
+
+\def\mkloadsortedlist#1% class
+ {\bgroup
+ \getvalue{\s!set#1}%
+ \ctxlua{job.loadsortedlist('#1')}%
+ \getvalue{\s!reset#1}%
+ \egroup}
+
+\protect \endinput