diff options
Diffstat (limited to 'tex/context/base/mkiv/file-mod.mklx')
-rw-r--r-- | tex/context/base/mkiv/file-mod.mklx | 289 |
1 files changed, 0 insertions, 289 deletions
diff --git a/tex/context/base/mkiv/file-mod.mklx b/tex/context/base/mkiv/file-mod.mklx deleted file mode 100644 index bf9b948bf..000000000 --- a/tex/context/base/mkiv/file-mod.mklx +++ /dev/null @@ -1,289 +0,0 @@ -%D \module -%D [ file=file-mod, % was core-fil, -%D version=20110701, % 1997.11.15, -%D title=\CONTEXT\ File Macros, -%D subtitle=Module Support, -%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. - -\writestatus{loading}{ConTeXt File Macros / Modules} - -\unprotect - -\registerctxluafile{file-mod}{} - -%D \macros -%D {usemodule} -%D -%D Most of \CONTEXT is preloaded in the format file. Some very domain specific -%D typesetting topics are however dealt with in separate modules, e.g. typesetting -%D of chemical structure formulas. These modules are loaded by: -%D -%D \showsetup{usemodule} -%D -%D More information on the specific modules can be found in their dedicated manuals. -%D We use \type {\next} so that we can \type {\end} in modules. - -\installcorenamespace{module} - -\let\currentmodule \s!unknown -\let\currentmodulecategory \empty -\let\currentmoduleparameters\empty - -\installmacrostack\currentmodule -\installmacrostack\currentmodulecategory -\installmacrostack\currentmoduleparameters - -\permanent\tolerant\protected\def\usemodules[#category]#spacer[#name]#spacer[#parameters]% category=t|m|x|p|... - {\push_macro_currentmodule - \push_macro_currentmodulecategory - \push_macro_currentmoduleparameters - \ifparameters - \let\currentmodule\empty - \or - \let \currentmodulecategory \empty - \edef\currentmodule {#category}% - \let \currentmoduleparameters\empty - \or - \ifhastok={#name}% - \let\currentmodulecategory \empty - \edef\currentmodule {#category}% - \edef\currentmoduleparameters{#name}% - \else - \edef\currentmodulecategory {#category}% - \edef\currentmodule {#name}% - \let \currentmoduleparameters\empty - \fi - \or - \edef\currentmodulecategory {#category}% - \edef\currentmodule {#name}% - \def \currentmoduleparameters{#parameters}% - \fi - \processcommacommand[\currentmodule]{\strc_modules_use\currentmodulecategory}% - \pop_macro_currentmoduleparameters - \pop_macro_currentmodulecategory - \pop_macro_currentmodule} - -\def\strc_modules_use#category#name% - {\ifempty\currentmoduleparameters\else - \scratchtoks\expandafter{\currentmoduleparameters}% - \normalexpanded{\getparameters[\??module#name:][\the\scratchtoks]}% - \fi - \clf_usemodules{#category}{#name}} - -\aliased\let\usemodule \usemodules -\aliased\let\usetexmodule\usemodules - -\newcount\c_syst_modules_nesting -\newtoks \everysetupmodule - -\permanent\tolerant\protected\def\startmodule[#1]#;#2 % - {\global\advance\c_syst_modules_nesting\plusone - \push_macro_currentmodule - \push_macro_currentmoduleparameters - \def\currentmodule{#1#2}} - -\permanent\protected\def\stopmodule - {\ifcase\c_syst_modules_nesting - \writestatus\m!system{module wrapping error in '\currentmodule'}% - \else - \pop_macro_currentmoduleparameters - \pop_macro_currentmodule - \global\advance\c_syst_modules_nesting\minusone - \fi} - -\permanent\protected\def\setupmodule % to be lmtx'd - {\ifempty\currentmoduleparameters - \expandafter\syst_modules_setup_nop - \else - \expandafter\syst_modules_setup_yes - \fi} - -\tolerant\def\syst_modules_setup_nop[#name]#spacer[#parameters]% - {\ifarguments - % nothing - \or - \doifassignmentelse{#name}{\getparameters[\??module\currentmodule:][#name]}\donothing - \or - \getparameters[\??module#name:][#parameters]% internal (defaults) - \fi - \the\everysetupmodule} - -\tolerant\def\syst_modules_setup_yes[#name]#spacer[#parameters]% - {\scratchtoks\expandafter{\currentmoduleparameters}% - \ifparameters - \normalexpanded{\getparameters[\??module\currentmodule:][\the\scratchtoks]}% - \or - \ifhastok={#name}% - \getparameters[\??module\currentmodule:][#name]% internal (defaults) - \normalexpanded{\getparameters[\??module\currentmodule:][\the\scratchtoks]}% loadtime (user) - \else - \normalexpanded{\getparameters[\??module#1:][\the\scratchtoks]}% loadtime (user) - \fi - \or - \getparameters[\??module#name:][#parameters]% internal (defaults) - \normalexpanded{\getparameters[\??module#name:][\the\scratchtoks]}% loadtime (user) - \fi - \let\currentmoduleparameters\empty - \the\everysetupmodule} - -\permanent\def\moduleparameter#name#parameter% should have been \namedmoduleparameter - {\begincsname\??module#name:#parameter\endcsname} - -\letvalue\??module\empty % so we default to empty as with all parameters - -\permanent\def\currentmoduleparameter{\moduleparameter\currentmodule} % no need for inlining - -%permanent\protected\def\useluamodule[#name]{\clf_loadluamodule{#1}} % why not use useluamodule - -\permanent\protected\def\useluamodule [#name]{\clf_useluamodule{#1}} -\permanent\protected\def\luaenvironment #name {\clf_loadluamodule{#1}} - -% \usemodule[newmml] -% \usemodule[newmml][a=b] -% \usemodule[x][newmml] -% \usemodule[x][newmml][a=b] -% -% \startmodule [mathml] -% \setupmodule[a=c] \relax [\currentmoduleparameter{a}] % user vars will be set afterwards -% \setupmodule[a=c] \relax [\currentmoduleparameter{a}] % user vars are now forgotten -% \stopmodule - -% one can introduce test sections with: -% -% \enablemode[newmml:test:\currentmoduleparameter{test}] -% \startmode[newmml:test:yes} ... \stopmode -% -% these will be ignored unless test=yes -% -% however, a better way is: - -\permanent\protected\def\startmoduletestsection - {\begingroup - \setupmodule % we need to make sure that the vars are set - \doifelse{\currentmoduleparameter\v!test}\v!yes - {\endgroup - \writestatus\currentmodule{loading experimental code}} - {\endgroup - \writestatus\currentmodule{skipping experimental code}% - \gobbleuntil\stopmoduletestsection}} - -\aliased\let\stopmoduletestsection\donothing - -% will become file-run - -%D To save memory, we implement some seldomly used commands in a lazy way. Nota -%D bene: such runtime definitions are to be defined global. -%D -%D \starttyping -%D \fetchruntimecommand \showaccents \f!file_run % last is a file name -%D \stoptyping - -\installcorenamespace{runtimeloaded} - -\permanent\protected\def\fetchruntimecommand#1#2% - {\protected\def#1{\dofetchruntimecommand#1{#2}}} - -\def\dofetchruntimecommand#1#2% actually a test on #1 being define would be ok as well - {\ifcsname\??runtimeloaded#2\endcsname - % already loaded - \else - \glet#1\undefined - \startreadingfile - \startnointerference % \bgroup - \cleanupfeatures % better \setnormalcatcodes / test first - \readfile{#2.\mksuffix}\donothing\donothing - \stopnointerference % \egroup - \stopreadingfile - \letgvalue{\??runtimeloaded#2}\empty - \fi - \ifx#1\undefined - \writestatus\m!system{command \string#1 not found in file #2}% - \protected\gdef#1{{\infofont[unknown command \string#1]}}% - \fi - #1} - -%D \macros -%D {doifolderversionelse} -%D -%D We start with a macro specially for Aditya who wants to be able -%D to use development versions of \MKIV\ for real documents. -%D -%D \starttyping -%D \doifolderversionelse\contextversion{1010.10.10} {OLDER} {OKAY} => OLDER -%D \doifolderversionelse\contextversion{2020.20.20} {OLDER} {OKAY} => OKAY -%D \doifolderversionelse\contextversion{2020} {OLDER} {OKAY} => OKAY -%D \stoptyping -%D -%D The version pattern is \type {yyyy.mm.dd} (with mm and dd being optional). - -\permanent\protected\def\doifelseolderversion#parent#child{\clf_doifelseolderversion{#parent}{#child}} -\permanent\protected\def\doifelseoldercontext #child{\clf_doifelseolderversion{#child}{}} - -\aliased\let\doifolderversionelse\doifelseolderversion -\aliased\let\doifoldercontextelse\doifelseoldercontext - -%D Relatively new (no need for a speedup here). Can't this now be done nicer? - -\permanent\protected\def\syst_modules_direct_lua#1#2% - {\edef\m_module_command_command {#1}% - \edef\m_module_command_function{#2}% - \directsetup{module:\m_module_command_command:start}% - \ctxlua{\m_module_command_function()}% - \directsetup{module:\m_module_command_command:stop}} - -\permanent\protected\def\syst_modules_single_lua#1#2% - {\edef\m_module_command_command {#1}% - \edef\m_module_command_function{#2}% - \dosingleempty\syst_modules_single_lua_indeed} - -\permanent\protected\def\syst_modules_single_lua_indeed[#1]% - {\directsetup{module:\m_module_command_command:start}% - \ctxlua{\m_module_command_function(\!!bs#1\!!es)}% - \directsetup{module:\m_module_command_command:stop}} - -\permanent\protected\def\syst_modules_double_lua#1#2% - {\edef\m_module_command_command {#1}% - \edef\m_module_command_function{#2}% - \dodoubleempty\syst_modules_double_lua_indeed} - -\permanent\protected\def\syst_modules_double_lua_indeed[#1][#2]% - {\directsetup{module:\m_module_command_command:start}% - \ctxlua{\m_module_command_function(\!!bs#1\!!es,\!!bs#2\!!es)}% - \directsetup{module:\m_module_command_command:stop}} - -\permanent\protected\def\installmodulecommandlua #1#2{\enforced\permanent\protected\def#1{\normalexpanded{\syst_modules_direct_lua{\csstring#1}{#2}}}} -\permanent\protected\def\installmodulecommandluasingle#1#2{\enforced\permanent\protected\def#1{\normalexpanded{\syst_modules_single_lua{\csstring#1}{#2}}}} -\permanent\protected\def\installmodulecommandluadouble#1#2{\enforced\permanent\protected\def#1{\normalexpanded{\syst_modules_double_lua{\csstring#1}{#2}}}} - -\unexpanded\def\syst_modules_one_lua#1#2#3% - {\directsetup{module:#1:start}% - \ctxlua{#2(\!!bs#3\!!es)}% - \directsetup{module:#1:stop}} - -\unexpanded\def\syst_modules_two_lua#1#2#3#4% - {\directsetup{module:#1:start}% - \ctxlua{#2(\!!bs#3\!!es,\!!bs#4\!!es)}% - \directsetup{module:#1:stop}} - -\permanent\protected\def\installmodulecommandluaone#1#2{\enforced\permanent\protected\def#1{\normalexpanded{\syst_modules_one_lua{\csstring#1}{#2}}}} -\permanent\protected\def\installmodulecommandluatwo#1#2{\enforced\permanent\protected\def#1{\normalexpanded{\syst_modules_two_lua{\csstring#1}{#2}}}} - -% obsolete -% -% \def\documentresources{\@@erurl} -% -% \unexpanded\def\setupexternalresources -% {\dodoubleargument\getparameters[\??er]} -% -% \setupexternalresources -% [url=] - -% new: - -\protect \endinput |