diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/core-reg.mkiv')
-rw-r--r-- | Master/texmf-dist/tex/context/base/core-reg.mkiv | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/core-reg.mkiv b/Master/texmf-dist/tex/context/base/core-reg.mkiv new file mode 100644 index 00000000000..d6407612f7d --- /dev/null +++ b/Master/texmf-dist/tex/context/base/core-reg.mkiv @@ -0,0 +1,57 @@ +%D \module +%D [ file=core-reg, +%D version=2007.05.07, +%D title=\CONTEXT\ Core Macros, +%D subtitle=Register Management, +%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-reg}{1.001} + +\appendtoks + \immediatewriteutilitytua{if not job.registers then job.registers = { } end}% + \immediatewriteutilitytua{local jr = job.registers}% +\to \everyopenutilities + +\let\allregisters\empty + +\appendtoks + \processcommacommand[\allregisters]\mkdodefineregister + \globallet\allregisters\empty +\to \everyopenutilities + +\def\mkdodefineregister#1% class + {\ctxlua{job.defineregister('#1')}% + \immediatewriteutilitytua{job.defineregister('#1')}} + +\def\mkdefineregister#1% class + {\mkdodefineregister{#1}% + \doglobal\addtocommalist{#1}\allregisters} + +\def\mksaveregisterentry#1#2#3#4#5#6#7% class type reference key entry pagespec realpage + {\expanded{\writeutilitytua{ti(jr['#1'],{'#2','#3',\!!bs#4\!!es,\!!bs#5\!!es,'#6','#7'})}}} + +\def\mksaveregistersee#1#2#3#4#5#6#7% class type reference key entry see pagespec + {\expanded{\writeutilitytua{ti(jr['#1'],{'#2','#3',\!!bs#4\!!es,\!!bs#5\!!es,'#6','#7'})}}} + +\def\mksaveregistervariable#1#2#3% class type value + {\expanded{\immediatewriteutilitytua{ti(jr['#1'],{'#2','#3'})}}} + +% Beware, we have no filename support here. For that we need to save the resulting +% tex code in a file. No big deal. + +\def\mkloadregister#1#2#3% class, todo: loader macro just like mkii + {\bgroup + \getvalue{\s!set#1}% smells like a hack + #2\ctxlua{job.loadregister('#1')}#3% par needed for hanging indentation + \getvalue{\s!reset#1}% + \egroup} + +\protect \endinput |