summaryrefslogtreecommitdiff
path: root/tex/context/base/core-uti.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/core-uti.mkiv')
-rw-r--r--tex/context/base/core-uti.mkiv78
1 files changed, 17 insertions, 61 deletions
diff --git a/tex/context/base/core-uti.mkiv b/tex/context/base/core-uti.mkiv
index 89fc2d9d1..ddbc47311 100644
--- a/tex/context/base/core-uti.mkiv
+++ b/tex/context/base/core-uti.mkiv
@@ -35,70 +35,10 @@
%D \long\edef\luaescapestring#1{\!!bs#1\!!es}
%D \stoptyping
-%D Next we implement a few helpers:
-
-\newwrite\utility@tua
-
-\prependtoks
- \def \writeutilitytua {\write\utility@tua}
- \def\immediatewriteutilitytua{\immediate\write\utility@tua}
-\to \everyjob
-
-\let \writeutilitytua\gobbleoneargument
-\let\immediatewriteutilitytua\gobbleoneargument
-
-\appendtoks
- \immediate\openout\utility@tua=\jobname.tua
- \immediatewriteutilitytua{-- file\space\space\space: \jobname}%
- \immediatewriteutilitytua{-- format\space: \contextformat}%
- \immediatewriteutilitytua{-- stamp\space\space: \contextversion}%
- \immediatewriteutilitytua{-- escape\space: \!!bs\space...\space\!!es}%
- \immediatewriteutilitytua{-- version: \utilityversion}%
- \immediatewriteutilitytua{}%
- \immediatewriteutilitytua{-- begin of utility file}%
- \immediatewriteutilitytua{}%
- \immediatewriteutilitytua{if job and job.version and not job.version == "\utilityversion" then return end}%
- \immediatewriteutilitytua{if not job then job = { } end}%
- \immediatewriteutilitytua{job.version = "\utilityversion"}%
- \immediatewriteutilitytua{local ti = table.insert}%
-\to \everyopenutilities
-
-\appendtoks
- %\immediatewriteutilitytua{}%
- %\immediatewriteutilitytua{-- end of utility file}%
- %\immediate\closeout\utility@tua
-\to \everycloseutilities
-
-% The next file can be in lua or luc format:
-
-\appendtoks
- \ctxlua { do
- if not job then job = { } end
- job.version = "\utilityversion"
- local settings = io.loaddata("\jobname.tuc")
- if settings then
- % if settings and settings:find("\letterpercent -\letterpercent -\letterpercent s*end of utility file\letterpercent s*$") then
- settings = loadstring(settings)
- if settings then
- settings()
- else
- logs.report("utilityfile","invalid, not loaded")
- end
- else
- logs.report("utilityfile","not present")
- end
- end}%
-% \to \everyjob
-\to \everystarttext
-
% variables
-\appendtoks
- \immediatewriteutilitytua{if not job.variables then job.variables = { } end}%
-\to \everyopenutilities
-
\def\savecurrentvalue#1#2%
- {\immediatewriteutilitytua{job.initializevariable("\strippedcsname#1","#2")}}
+ {\ctxlua{jobvariables.save("\strippedcsname#1","#2")}}
% temp
@@ -118,4 +58,20 @@
\ctxlua{nodes.cleanup_reserved()}%
\to \everydump
+% new
+
+% this loads and also sets the saving
+
+\appendtoks
+ \ctxlua {
+ job.comment(
+ "file: \jobname",
+ "format: \contextformat",
+ "stamp: \contextversion",
+ "escape: \!!bs\space...\space\!!es"
+ )
+ job.initialize("\jobname.tuc","\jobname.tua")
+ }%
+\to \everystarttext
+
\protect \endinput