From a542619e8daa633ef659d2627965dbc98a9f2566 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 25 Jan 2011 13:17:00 +0100 Subject: beta 2011.01.25 13:17 --- tex/context/base/back-pdf.mkiv | 10 ------- tex/context/base/catc-ini.mkiv | 19 ++++++------ tex/context/base/core-def.mkiv | 1 + tex/context/base/core-job.mkiv | 3 +- tex/context/base/math-ini.mkiv | 4 ++- tex/context/base/mult-cld.lua | 30 ++++++++++++------- tex/context/base/pack-obj.mkiv | 4 ++- tex/context/base/syst-aux.mkiv | 30 +++++++++---------- tex/context/base/type-ini.mkiv | 65 ++++++++++++++++++++++++------------------ tex/context/base/type-set.mkiv | 12 ++++---- 10 files changed, 96 insertions(+), 82 deletions(-) (limited to 'tex') diff --git a/tex/context/base/back-pdf.mkiv b/tex/context/base/back-pdf.mkiv index 1a99a91a2..e0b1b46e6 100644 --- a/tex/context/base/back-pdf.mkiv +++ b/tex/context/base/back-pdf.mkiv @@ -110,16 +110,6 @@ \pdfbackendsetinfo{ConTeXt.Url} {www.pragma-ade.com}% \to \everylastbackendshipout -%D Unfortunately this is still needed (also for \METAPOST\ to -%D \PDF\ converter): - -% \def\doresetmapfilelist -% {\global\let\doresetmapfilelist\relax -% \pdfmapfile{original-empty.map}} -% -% \appendtoksonce \loadallfontmapfiles \to \pdfbackendeveryxform -% \appendtoksonce \loadallfontmapfiles \to \pdfbackendeveryximage - %D Transformations. Some day we will use primitives (once they're fixed). \def\dostartrotation#1% grouped diff --git a/tex/context/base/catc-ini.mkiv b/tex/context/base/catc-ini.mkiv index fbc8630de..56a8f87e1 100644 --- a/tex/context/base/catc-ini.mkiv +++ b/tex/context/base/catc-ini.mkiv @@ -247,16 +247,19 @@ %D what the next macros do. Saving the catcodes can be %D disabled by saying \type{\localcatcodestrue}. +% quite likely we will define \unexpanded earlier on so +% that \normalprotected will go + \let\savedcatcodetable\relax \newcount\catcoderestorelevel -\def\pushcatcodetable +\normalprotected\def\pushcatcodetable {\advance\catcoderestorelevel\plusone \tracepushcatcodetable \expandafter\chardef\csname scct:\number\catcoderestorelevel\endcsname\currentcatcodetable} -\def\popcatcodetable +\normalprotected\def\popcatcodetable {\ifcase\catcoderestorelevel \showcatcodenestingerror \else @@ -265,22 +268,22 @@ \advance\catcoderestorelevel\minusone \fi} -\def\showcatcodenestingerror % can be overloaded +\normalprotected\def\showcatcodenestingerror % can be overloaded {\immediate\write16{}% \immediate\write16{Fatal error: catcode push/pop mismatch. Fix this!}\wait\end \immediate\write16{}} -\def\restorecatcodes % takes previous level +\normalprotected\def\restorecatcodes % takes previous level {\ifnum\catcoderestorelevel>\plusone \expandafter\catcodetable\csname scct:\number\numexpr\catcoderestorelevel-1\relax\endcsname \fi} \newtoks\everycatcodetable -\def\setcatcodetable#1% - {\catcodetable#1% - \the\everycatcodetable - \tracesetcatcodetable} +\normalprotected\def\setcatcodetable#1% + {\catcodetable#1% + \the\everycatcodetable + \tracesetcatcodetable} \def\dotracecatcodetable#1{\immediate\write16{[#1]}} diff --git a/tex/context/base/core-def.mkiv b/tex/context/base/core-def.mkiv index 44e59ecae..fd91cddf6 100644 --- a/tex/context/base/core-def.mkiv +++ b/tex/context/base/core-def.mkiv @@ -31,6 +31,7 @@ \ifdefined\thirdstagepreloadfonts \else \let\thirdstagepreloadfonts \relax \fi \ifdefined\fourthstagepreloadfonts \else \let\fourthstagepreloadfonts\relax \fi +%prependtoks \preloadtypescript \to \everyjob \appendtoks \showcontextbanner \to \everyjob \appendtoks \initializenewlinechar \to \everyjob \appendtoks \calculatecurrenttime \to \everyjob diff --git a/tex/context/base/core-job.mkiv b/tex/context/base/core-job.mkiv index ad75cd079..4f4636ba9 100644 --- a/tex/context/base/core-job.mkiv +++ b/tex/context/base/core-job.mkiv @@ -68,8 +68,7 @@ {\readsysfile{#1.\mksuffix}{\showmessage\m!systems2{#1.\mksuffix}}\donothing} \def\loadsystemfiles - {\reportprotectionstate - \doloadsystemfile\f!newfilename % new code, to be integrated at some point, plus fixes posted on the list + {\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 diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv index 07a93d548..5b017e055 100644 --- a/tex/context/base/math-ini.mkiv +++ b/tex/context/base/math-ini.mkiv @@ -414,12 +414,14 @@ \egroup \appendtoks + \setfalse\knuthmode \catcode\underscoreasciicode\othercatcode \catcode\circumflexasciicode\othercatcode \catcode\ampersandasciicode \othercatcode \to \everynonknuthmode \appendtoks + \settrue\knuthmode \catcode\underscoreasciicode\subscriptcatcode \catcode\circumflexasciicode\superscriptcatcode \catcode\ampersandasciicode \alignmentcatcode @@ -459,7 +461,7 @@ \unexpanded\def\stopasciimode {\popcatcodetable - \donknuthmode} + \ifconditional\knuthmode\else\donknuthmode\fi} %D Needed for unicode: diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua index 24660b3a4..08446a7ca 100644 --- a/tex/context/base/mult-cld.lua +++ b/tex/context/base/mult-cld.lua @@ -148,17 +148,6 @@ function context.popcatcodes() contentcatcodes = currentcatcodes end -function context.unprotect() - insert(catcodestack,currentcatcodes) - currentcatcodes = prtcatcodes - contentcatcodes = currentcatcodes -end - -function context.protect() - currentcatcodes = remove(catcodestack) or currentcatcodes - contentcatcodes = currentcatcodes -end - function tex.fprint(...) -- goodie texsprint(currentcatcodes,format(...)) end @@ -397,6 +386,25 @@ local defaultcaller = caller setmetatable(context, { __index = indexer, __call = caller } ) +-- now we tweak unprotect and protect + +function context.unprotect() + -- at the lua end + insert(catcodestack,currentcatcodes) + currentcatcodes = prtcatcodes + contentcatcodes = currentcatcodes + -- at the tex end + flush("\\unprotect") +end + +function context.protect() + -- at the tex end + flush("\\protect") + -- at the lua end + currentcatcodes = remove(catcodestack) or currentcatcodes + contentcatcodes = currentcatcodes +end + -- logging local trace_stack = { } diff --git a/tex/context/base/pack-obj.mkiv b/tex/context/base/pack-obj.mkiv index e2620955d..6af439021 100644 --- a/tex/context/base/pack-obj.mkiv +++ b/tex/context/base/pack-obj.mkiv @@ -90,6 +90,8 @@ % end % \stopluacode % +% \unprotect +% % \newbox \objectbox % \newtoks \everyobject % \newif \ifinobject @@ -101,7 +103,7 @@ % % \def\objectoffset{1cm} % -% \everyobject{\the\everyPDFxform} +% \everyobject{\the\pdfbackendeveryxform} % % \let\doresetobjects\relax % diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv index e12951fa4..c2a47b828 100644 --- a/tex/context/base/syst-aux.mkiv +++ b/tex/context/base/syst-aux.mkiv @@ -37,7 +37,20 @@ \unprotect -\let\reportprotectionstate\relax +%D \macros +%D {unexpanded} +%D +%D Because we use this module only in \MKIV, we have removed the +%D old protection code. +%D +%D \starttyping +%D \unexpanded\def\somecommand{... ... ...} +%D \stoptyping +%D +%D This overloads the \ETEX\ primitive but as we already had an \MKII\ +%D solution we keep the same name for a similar mechanism. + +\let\unexpanded\normalprotected %D \macros %D {doifolderversionelse} @@ -453,21 +466,6 @@ \def\globallet{\global\let} \let\glet\globallet -%D \macros -%D {unexpanded} -%D -%D Because we use this module only in \MKIV, we have removed the -%D old protection code. -%D -%D \starttyping -%D \unexpanded\def\somecommand{... ... ...} -%D \stoptyping -%D -%D This overloads the \ETEX\ primitive but as we already had an \MKII\ -%D solution we keep the same name for a similar mechanism. - -\let\unexpanded\normalprotected - %D \macros %D {doifundefined,doifdefined, %D doifundefinedelse,doifdefinedelse, diff --git a/tex/context/base/type-ini.mkiv b/tex/context/base/type-ini.mkiv index fce3cd816..298618a4a 100644 --- a/tex/context/base/type-ini.mkiv +++ b/tex/context/base/type-ini.mkiv @@ -132,11 +132,31 @@ \def\preloadtypescripts{\ifproductionrun\settrue\preloadingtypescripts\fi} +\prependtoks + \preloadtypescripts +\to \everyjob + +% \long\def\xxstarttypescript#1\stoptypescript +% {\global\loadedtypescripts\@EA{\the\loadedtypescripts\starttypescript#1\stoptypescript}} +% +% \long\def\xxstarttypescriptcollection#1\stoptypescriptcollection +% {\global\loadedtypescripts\@EA{\the\loadedtypescripts\starttypescriptcollection#1\stoptypescriptcollection}} + +\newcount\nofpreloadedtypescripts % it's faster to append references than blobs + \long\def\xxstarttypescript#1\stoptypescript - {\global\loadedtypescripts\@EA{\the\loadedtypescripts\starttypescript#1\stoptypescript}} + {\global\advance\nofpreloadedtypescripts\plusone + \edef\currentpreloadedtypescript{\??ts:\the\nofpreloadedtypescripts}% + \setgvalue\currentpreloadedtypescript{\starttypescript#1\stoptypescript}% + %\global\loadedtypescripts\@EAEAEA{\@EA\the\@EA\loadedtypescripts\@EA\getvalue\@EA{\currentpreloadedtypescript}}} + \normalexpanded{\global\loadedtypescripts{\the\@EA\loadedtypescripts\noexpand\csname\currentpreloadedtypescript\endcsname}}} \long\def\xxstarttypescriptcollection#1\stoptypescriptcollection - {\global\loadedtypescripts\@EA{\the\loadedtypescripts\starttypescriptcollection#1\stoptypescriptcollection}} + {\global\advance\nofpreloadedtypescripts\plusone + \edef\currentpreloadedtypescript{\??ts:\the\nofpreloadedtypescripts}% + \setgvalue\currentpreloadedtypescript{\starttypescriptcollection#1\stoptypescriptcollection}% + %\global\loadedtypescripts\@EAEAEA{\@EA\the\@EA\loadedtypescripts\@EA\getvalue\@EA{\currentpreloadedtypescript}}} + \normalexpanded{\global\loadedtypescripts{\the\@EA\loadedtypescripts\noexpand\csname\currentpreloadedtypescript\endcsname}}} \def\dododousetypescriptfile#1% {\setfalse\quittingtypescript @@ -169,17 +189,17 @@ \egroup \expandafter\let\csname\??ts:\c!file:\currenttypefile\endcsname\loadedtypescripts} -% \def\doprocesstypescriptfile -% {\ctxlua{commands.doprocesstypescriptfile("\currenttypefile")}} - \def\doprocesstypescriptfile - {\startreadingfile - \pushendofline - \unprotect - \readfile{\currenttypefile.\mksuffix}\donothing{\readfile\currenttypefile\donothing\donothing}% - \protect - \popendofline - \stopreadingfile} + {\ctxlua{commands.doprocesstypescriptfile("\currenttypefile")}} + +% \def\doprocesstypescriptfile +% {\startreadingfile +% \pushendofline +% \unprotect +% \readfile{\currenttypefile.\mksuffix}\donothing{\readfile\currenttypefile\donothing\donothing}% +% \protect +% \popendofline +% \stopreadingfile} \def\usetypescriptonce {\dotripleempty\dousetypescriptonce} @@ -344,14 +364,6 @@ \def\doloadmapline [#1][#2]{\ctxlua{fonts.map.loadline("#1","#2")}} \def\forgetmapfiles {\ctxlua{fonts.map.reset()}} -\let\loadallfontmapfiles\relax -\let\allfontmapsfiles \empty -\let\preloadmapfile \loadmapfile -\let\resetmapfiles \forgetmapfiles -\let\disablemapfiles \forgetmapfiles - -\newif\ifautoloadmapfiles - % \appendtoks % \pdfmapfile{}% somehow does not work at the lua end % \to \everyjob @@ -481,14 +493,13 @@ \fi \fi \fi \ifmmode\mr\else\tf\fi} % needed ? -% \def\usetypefile[#1]% recurses on path ! % no storage? obsolete? -% %{\edef\currenttypefile{\f!typeprefix#1}% -% {\edef\currenttypefile{#1}% -% \ctxlua{commands.doprocesstypescriptfile("\currenttypefile")}} +% \def\usetypefile[#1]% recurses on path ! +% {\edef\currenttypefile{\f!typeprefix#1}% +% \readfile{\currenttypefile.\mksuffix}\donothing{\readfile\currenttypefile\donothing\donothing}} -\def\usetypefile[#1]% recurses on path ! - {\edef\currenttypefile{\f!typeprefix#1}% - \readfile{\currenttypefile.\mksuffix}\donothing{\readfile\currenttypefile\donothing\donothing}} +\def\usetypefile[#1]% recurses on path ! % no storage? obsolete? + {\edef\currenttypefile{#1}% + \ctxlua{commands.doprocesstypescriptfile("\currenttypefile")}} %D For Taco: %D diff --git a/tex/context/base/type-set.mkiv b/tex/context/base/type-set.mkiv index b25fe5ad9..89dd68a8f 100644 --- a/tex/context/base/type-set.mkiv +++ b/tex/context/base/type-set.mkiv @@ -67,11 +67,11 @@ %definefontsynonym [SansCaps] [SansBold] \stopsetups -%usetypescriptfile[type-def] % preloaded in main context.mkiv file -%usetypescriptfile[type-lua] % preloaded in main context.mkiv file -%usetypescriptfile[type-tmf] % replaced by otf (mkiv) en one (mkii) -\usetypescriptfile[type-siz] -\usetypescriptfile[type-otf] -\usetypescriptfile[type-loc] +%usetypescriptfile[def] % preloaded in main context.mkiv file +%usetypescriptfile[lua] % preloaded in main context.mkiv file +%usetypescriptfile[tmf] % replaced by otf (mkiv) en one (mkii) +\usetypescriptfile[siz] +\usetypescriptfile[otf] +\usetypescriptfile[loc] \protect \endinput -- cgit v1.2.3