diff options
Diffstat (limited to 'tex/context/base/core-job.mkiv')
-rw-r--r-- | tex/context/base/core-job.mkiv | 313 |
1 files changed, 0 insertions, 313 deletions
diff --git a/tex/context/base/core-job.mkiv b/tex/context/base/core-job.mkiv deleted file mode 100644 index a413d1d6a..000000000 --- a/tex/context/base/core-job.mkiv +++ /dev/null @@ -1,313 +0,0 @@ -%D \module -%D [ file=core-job, % copied from main-001, -%D version=1997.03.31, -%D title=\CONTEXT\ Core Macros, -%D subtitle=Job Handling, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -%D This module is still to be split and documented. - -\writestatus{loading}{ConTeXt Core Macros / Job Handling} - -\unprotect - -\registerctxluafile{core-job}{1.001} - -\let \currentproject \empty -\let \currentproduct \empty -\let \currentenvironment \empty -\let \currentcomponent \empty - -\let \loadedfiles \empty -\let \processedfiles \empty - -\let \nomorefiles \relax - -\let \allinputpaths \empty -\let \locatedfilepath \empty - -\newcount\textlevel -\newcount\fileprocesslevel - -\setvalue{\c!file::0}{\jobname} - -\def\processedfile % is used in styles, don't change ! - {\getvalue{\c!file::\number\fileprocesslevel}} - -\def\dostarttextfile#1% - {\global\advance\fileprocesslevel\plusone - \setxvalue{\c!file::\number\fileprocesslevel}{#1}% - \doglobal\addtocommalist{#1}\processedfiles} - -\def\dostoptextfile - {\global\advance\fileprocesslevel\minusone} - -\def\processlocalfile#1#2% - {#1{#2}\donothing{\readfile{#2}\donothing\donothing}} - -\def\processfile #1{\ctxcommand{processfile("#1")}} -\def\doifinputfileelse #1{\ctxcommand{doifinputfileelse("#1")}} -\def\locatefilepath #1{\edef\locatedfilepath{\ctxcommand{locatefilepath("#1")}}} -\def\usepath [#1]{\edef\allinputpaths{\ctxcommand{usepath("#1")}}} -\def\usesubpath [#1]{\edef\allinputpaths{\ctxcommand{usesubpath("#1")}}} -\def\usezipfile {\dodoubleempty\dousezipfile} -\def\dousezipfile[#1][#2]{\ctxcommand{usezipfile("#1","#2")}} % [filename] [optional subtree] -\def\loadexamodes {\dosingleempty\doloadexamodes} -\def\doloadexamodes [#1]{\ctxcommand{loadexamodes("#1")}} - -\def\registerfileinfo[#1#2]#3% geen \showmessage ? - {\writestatus\m!system{#1#2 file #3 at line \the\inputlineno}} - -\def\doloadsystemfile#1% only mkiv files - {\readsysfile{#1.\mksuffix}{\showmessage\m!system2{#1.\mksuffix}}\donothing} - -\def\loadsystemfiles - {\doloadsystemfile\f!newfilename % new code, to be integrated at some point, plus fixes posted on the list - \doloadsystemfile\f!locfilename % new code, somewhat experimental, not distributed (outside the dev group) - \doloadsystemfile\f!expfilename % new code, very experimental, can be engine specific, mostly for me only - \doloadsystemfile\f!sysfilename} % local settings, but probably not that good an idea to use - -%D We don't want multiple jobfiles to interfere. - -\def\loadoptionfile % todo : mark document.* tables as storage - {\readjobfile{\jobname.\f!optionextension} - {\writestatus\m!system{\jobname.\f!optionextension\space loaded}% - \ctxcommand{logoptionfile("\jobname.\f!optionextension")}}% - {\writestatus\m!system{no \jobname.\f!optionextension}}} - -% Most natural ... -% -% \def\doateverystarttext -% {\the\everystarttext -% \global\let\doateverystarttext\relax} -% -% ... most practical, since we can load env's in a -% something.run file (nested \starttext's; see for -% instance x-res-08, where we definitely want to -% open the file!). - -\def\doateverystarttext - {\the\everystarttext - \global\everystarttext\emptytoks} - -\unexpanded\def\starttext - {\doateverystarttext - \ifcase\textlevel - \registerfileinfo[begin]\jobfilename - \fi - \global\advance\textlevel\plusone} - -\unexpanded\def\stoptext - {\global\advance\textlevel\minusone - \ifnum\textlevel>\zerocount \else - \flushfinallayoutpage % optional - \page % anyway - \the\everystoptext - %\the\everybye % - %\the\everygoodbye % == \end (new) - %\expandafter\normalend % -\ifcase\textlevel - \registerfileinfo[end]\jobfilename -\fi - \expandafter\finalend - \fi} - -\def\forcequitjob#1% - {\writestatus\m!system{forcing quit: #1}% - \batchmode - \dorecurse\textlevel{\stoptext} - \normalend} - -\let\autostoptext\relax - -\def\autostarttext - {\ifcase\textlevel - \starttext - \writestatus\m!system{auto \string\starttext..\string\stoptext}% - \let\autostoptext\stoptext - \fi} - -\def\finalend - {\ifnum\textlevel>\zerocount \else - \the\everybye - \the\everygoodbye - \doifsometokselse\everynotabene{\writeline\the\everynotabene\writeline}\donothing - \global\everybye \emptytoks % rather unneeded - \global\everygoodbye\emptytoks % but for sure - \expandafter\normalend - \fi} - -\let\end\finalend - -\def\emergencyend - {\writestatus\m!system{invalid \@EA\string\csname\e!start\v!text\endcsname...\@EA\string\csname\e!stop\v!text\endcsname\space structure}% - \stoptext} - -\def\currentfile{\inputfilename} - -\def\doexecutefileonce#1% - {\beforesplitstring#1\at.\to\currentfile - \doifnotinset\currentfile\loadedfiles - {\addtocommalist\currentfile\loadedfiles - \doexecutefile{#1}}} - -\def\doexecutefile#1% - {\registerfileinfo[begin]{#1}% - \dostarttextfile{#1}% - \processfile{#1}% - \dostoptextfile - \registerfileinfo[end]{#1}} - -\def\donotexecutefile#1% - {} - -\unexpanded\def\project {\doifnextoptionalelse\useproject \redoproject} -\unexpanded\def\environment{\doifnextoptionalelse\useenvironment\redoenvironment} -\unexpanded\def\product {\doifnextoptionalelse\useproduct \redoproduct} -\unexpanded\def\component {\doifnextoptionalelse\usecomponent \redocomponent} - -\def\redoproject #1 {\useproject [#1]} -\def\redoenvironment #1 {\useenvironment[#1]} -\def\redoproduct #1 {\useproduct [#1]} -\def\redocomponent #1 {\usecomponent [#1]} - -\def\useproject[#1]% - {} - -\def\useenvironment[#1]% maybe commalist - {\pushmacro\dostartenvironment % we could use a depth counter - \pushmacro\stopenvironment - \unexpanded\def\dostartenvironment[##1]{}% - \let\stopenvironment\relax - \startreadingfile - \doexecutefileonce{#1} - \stopreadingfile - \popmacro\stopenvironment - \popmacro\dostartenvironment} - -\def\useproduct[#1]% - {} - -\def\usecomponent[#1]% - {\dostarttextfile{#1}% - \processfile{#1}% - \dostoptextfile} - -\newcount\filelevel - -\let\currentcomponent \v!text -\let\currentcomponentpath\f!currentpath - -\def\donextlevel#1#2#3#4#5#6#7\\% we will move this to lua - {\pushmacro\currentcomponent - \pushmacro\currentcomponentpath - \let\currentcomponent#1% - \setsystemmode\currentcomponent - \splitfilename{#1}% - \ifx\splitoffpath\empty - \let\currentcomponentpath\f!currentpath - \else - \let\currentcomponentpath\splitoffpath - \fi - \beforesplitstring#7\at.\to#2\relax % can become path + base - \ifcase\filelevel\relax - \starttext - \unexpanded\def\useproject [##1]{#3{##1}}% - \unexpanded\def\useenvironment[##1]{#4{##1}}% - \unexpanded\def\useproduct [##1]{#5{##1}}% - \unexpanded\def\usecomponent [##1]{#6{##1}}% - \fi - \advance\filelevel\plusone - \addtocommalist{#1}\loadedfiles} - -\def\doprevlevel - {\popmacro\currentcomponentpath - \popmacro\currentcomponent - \setsystemmode\currentcomponent - \ifnum\filelevel=\plusone - \expandafter\stoptext - \else - \advance\filelevel\minusone - \expandafter\endinput - \fi} - -\unexpanded\def\startproject {\doifnextoptionalelse\dostartproject \redostartproject} -\unexpanded\def\startenvironment{\doifnextoptionalelse\dostartenvironment\redostartenvironment} -\unexpanded\def\startproduct {\doifnextoptionalelse\dostartproduct \redostartproduct} -\unexpanded\def\startcomponent {\doifnextoptionalelse\dostartcomponent \redostartcomponent} - -\def\redostartproject #1 {\dostartproject [#1]} -\def\redostartenvironment #1 {\dostartenvironment[#1]} -\def\redostartproduct #1 {\dostartproduct [#1]} -\def\redostartcomponent #1 {\dostartcomponent [#1]} - -\def\dostartproject[#1]% - {\donextlevel\v!project\currentproject - \donotexecutefile\doexecutefileonce - \doexecutefileonce\doexecutefile#1\\} - -\def\dostartproduct[#1]% - {\doateverystarttext - \donextlevel\v!product\currentproduct - \doexecutefileonce\doexecutefileonce - \donotexecutefile\doexecutefile#1\\} - -\def\dostartcomponent[#1]% - {\doateverystarttext - \donextlevel\v!component\currentcomponent - \doexecutefileonce\doexecutefileonce - \donotexecutefile\doexecutefile#1\\} - -\def\dostartenvironment[#1]% - {\donextlevel\v!environment\currentenvironment - \donotexecutefile\doexecutefileonce - \donotexecutefile\donotexecutefile#1\\} - -% \startproject test -% 1: \startmode[*project] project \stopmode \endgraf -% 2: \startmode[*product] product \stopmode \endgraf -% \stopproject - -\unexpanded\def\stopproject {\doprevlevel} -\unexpanded\def\stopproduct {\doprevlevel} -\unexpanded\def\stopcomponent {\doprevlevel} -\unexpanded\def\stopenvironment{\doprevlevel} - -% more or less replaced by modes - -\setvalue{\e!start\v!localenvironment}[#1]% - {\let\loadedlocalenvironments\empty - \def\docommand##1% - {\beforesplitstring##1\at.\to\someevironment - \addtocommalist\someevironment\loadedlocalenvironments}% - \processcommalist[#1]\docommand - \doifcommonelse{\currentproject,\currentproduct,\currentcomponent,\currentenvironment}\loadedlocalenvironments - {\letvalue{\e!stop\v!localenvironment}\relax} - {\grabuntil{\e!stop\v!localenvironment}\gobbleoneargument}} - -\setvalue{\v!localenvironment}{\doifnextoptionalelse\uselocalenvironment\redolocalenvironment} - -\def\redolocalenvironment#1 {\uselocalenvironment[#1]} - -\def\uselocalenvironment[#1]{\doexecutefileonce{#1}} - -\neverypar\emptytoks % here ? - -% \appendtoks \flushnotes \to \everypar -% \appendtoks \synchronizesidefloats \to \everypar -% \appendtoks \checkindentation \to \everypar -% \appendtoks \showparagraphnumber \to \everypar -% %appendtoks \flushmargincontents \to \everypar -% \appendtoks \flushcommentanchors \to \everypar -% \appendtoks \synchronizenotes \to \everypar - -% \appendtoks \flushnotes \to \everydisplay -% \appendtoks \adjustsidefloatdisplaylines \to \everydisplay - -\protect \endinput |