diff options
Diffstat (limited to 'tex/context/base')
-rw-r--r-- | tex/context/base/cont-new.tex | 19 | ||||
-rw-r--r-- | tex/context/base/context.tex | 2 | ||||
-rw-r--r-- | tex/context/base/core-sec.tex | 10 | ||||
-rw-r--r-- | tex/context/base/enco-fde.tex | 6 | ||||
-rw-r--r-- | tex/context/base/enco-fpl.tex | 36 | ||||
-rw-r--r-- | tex/context/base/enco-fro.tex | 10 | ||||
-rw-r--r-- | tex/context/base/lang-ger.tex | 105 | ||||
-rw-r--r-- | tex/context/base/lang-ita.tex | 15 | ||||
-rw-r--r-- | tex/context/base/lang-sla.tex | 76 | ||||
-rw-r--r-- | tex/context/base/page-lay.tex | 22 | ||||
-rw-r--r-- | tex/context/base/page-txt.tex | 86 | ||||
-rw-r--r-- | tex/context/base/supp-lan.tex | 12 | ||||
-rw-r--r-- | tex/context/base/xtag-ext.tex | 20 |
13 files changed, 118 insertions, 301 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 52a83ee2b..fafffa470 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -24,7 +24,7 @@ \normalend}} \fi -\newcontextversion{2006.01.27 13:58} +\newcontextversion{2006.01.28 10:09} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new @@ -43,20 +43,6 @@ \prependtoks \restoreendofline \to \everybeforeshipout -\newtoks\XMLdatatoks - -\bgroup \catcode`\<=\active - -\gdef\saveXMLdatainelement#1#2#3% name element data - {\XMLdatatoks\@EAEAEA{\csname\@@XMLdata:#3\endcsname}% no check - \dodoglobal\setevalue{\@@XMLsave:#1}{<#2 \currentXMLarguments>\the\XMLdatatoks</#2>}} - -\gdef\saveXMLdatastructure#1#2#3#4#5#6% name element args before data after - {\XMLdatatoks\@EAEAEA{\csname\@@XMLdata:#5\endcsname}% no check - \dodoglobal\setevalue{\@@XMLsave:#1}{<#2 #3 \currentXMLarguments>#4\the\XMLdatatoks#6</#2>}} - -\egroup - % \tracefilestrue % % \unexpanded\def\readfile#1#2#3% @@ -209,9 +195,6 @@ \relax \the\everyafterreadfile} -\def\headparameter#1% to do: everywhere in core-sec - {\csname\??ko\currenthead#1\endcsname} - % The following may be a solution for the fact that one cannot % change catcodes of characters like : and ; inside an environment. diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 64b9f9134..314f9dd2f 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -31,7 +31,7 @@ %D 2004.8.30 the low level interface is english. Watch out and adapt %D your styles an modules. -\def\contextversion{2006.01.27 13:58} +\def\contextversion{2006.01.28 10:09} %D For those who want to use this: diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index 69b7f26cc..64429e389 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -1099,9 +1099,11 @@ \xdef\@@kolevel{\getvalue{\??se\@@sectie\c!level}}} \def\dohandlepagebreakBB#1#2#3% - {\doifinset{\getvalue{\??tk#2\c!state}}{\v!normal,\v!start} + {%\doifinsetelse{\getvalue{\??tk#2\c!state}}{\v!normal,\v!start} + \doifelselayouttextline{#2} {\doifvaluesomething{\??ko#1#3} - {\setuplayouttext[#2][\c!state=\getvalue{\??ko#1#3}]}}} + {\setuplayouttext[#2][\c!state=\getvalue{\??ko#1#3}]}} + \donothing} \def\dohandlepagebreakB#1% {\doifvaluesomething{\??ko#1\c!page} @@ -1364,8 +1366,8 @@ \let\localkopprefix\empty -% \def\headparameter#1% to do: everywhere in core-sec -% {\csname\??ko\currenthead#1\endcsname} +\def\headparameter#1% to do: everywhere in core-sec + {\csname\??ko\currenthead#1\endcsname} \def\dodododoconstructhead#1[#2]#3#4% [ref] {number} {title} {\def\currenthead{#1}% dus #1 overal vervangen diff --git a/tex/context/base/enco-fde.tex b/tex/context/base/enco-fde.tex index 92ce7cc96..4dee53d21 100644 --- a/tex/context/base/enco-fde.tex +++ b/tex/context/base/enco-fde.tex @@ -11,8 +11,6 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D These definitions used to be part of lang-ger.tex. - \unprotect \startlanguagespecifics[\s!de] @@ -61,8 +59,8 @@ \startlanguagespecifics[\s!de] - \installcompoundcharacter "` {\handlequotation\c!leftquotation} - \installcompoundcharacter "' {\handlequotation\c!rightquotation} + \installcompoundcharacter "` {\startdelimitedtext[\v!quotation]} + \installcompoundcharacter "' {\stopdelimitedtext} \installcompoundcharacter ". {\kern.1em\ignorespaces} \def\setupDElanguage diff --git a/tex/context/base/enco-fpl.tex b/tex/context/base/enco-fpl.tex index ec9c81070..0f9ba2966 100644 --- a/tex/context/base/enco-fpl.tex +++ b/tex/context/base/enco-fpl.tex @@ -21,24 +21,24 @@ \appendtoks \makecharacteractive / \to \everynormalcatcodes - \installcompoundcharacter /a {\k a} - \installcompoundcharacter /c {\'c} - \installcompoundcharacter /e {\k e} - \installcompoundcharacter /l {\l} - \installcompoundcharacter /n {\'n} - \installcompoundcharacter /o {\'o} - \installcompoundcharacter /s {\'s} - \installcompoundcharacter /x {\'z} - \installcompoundcharacter /z {\.z} - \installcompoundcharacter /A {\k A} - \installcompoundcharacter /C {\'C} - \installcompoundcharacter /E {\k E} - \installcompoundcharacter /L {\L} - \installcompoundcharacter /N {\'N} - \installcompoundcharacter /O {\'O} - \installcompoundcharacter /S {\'S} - \installcompoundcharacter /X {\'Z} - \installcompoundcharacter /Z {\.Z} + \installcompoundcharacter /a {\aogonek} + \installcompoundcharacter /c {\cacute} + \installcompoundcharacter /e {\eogonek} + \installcompoundcharacter /l {\lstroke} + \installcompoundcharacter /n {\nacute} + \installcompoundcharacter /o {\oacute} + \installcompoundcharacter /s {\sacute} + \installcompoundcharacter /x {\zacute} + \installcompoundcharacter /z {\zdotaccent} + \installcompoundcharacter /A {\Aogonek} + \installcompoundcharacter /C {\Cacute} + \installcompoundcharacter /E {\Eogonek} + \installcompoundcharacter /L {\Lstroke} + \installcompoundcharacter /N {\Nacute} + \installcompoundcharacter /O {\Oacute} + \installcompoundcharacter /S {\Sacute} + \installcompoundcharacter /X {\Zacute} + \installcompoundcharacter /Z {\Zdotaccent} \stoplanguagespecifics diff --git a/tex/context/base/enco-fro.tex b/tex/context/base/enco-fro.tex index b811e207e..f6644402b 100644 --- a/tex/context/base/enco-fro.tex +++ b/tex/context/base/enco-fro.tex @@ -13,7 +13,7 @@ %D These definitions used to be part of lang-ita.tex. -\unprotect +\unprotect \startlanguagespecifics[\s!ro] @@ -21,13 +21,13 @@ \installcompoundcharacter "i {\icircumflex} \installcompoundcharacter "s {\scedilla} \installcompoundcharacter "t {\tcedilla} - \installcompoundcharacter "A {\Acircumflex} + \installcompoundcharacter "A {\Acircumflex} \installcompoundcharacter "I {\Icircumflex} \installcompoundcharacter "S {\Scedilla} \installcompoundcharacter "T {\Tcedilla} - \installcompoundcharacter "` {\handlequotation\c!leftquotation} - \installcompoundcharacter "' {\handlequotation\c!rightquotation} + \installcompoundcharacter "` {\startdelimitedtext[\v!quotation]} + \installcompoundcharacter "' {\stopdelimitedtext} \stoplanguagespecifics -\protect \endinput +\protect \endinput diff --git a/tex/context/base/lang-ger.tex b/tex/context/base/lang-ger.tex index 3b92f996d..049905649 100644 --- a/tex/context/base/lang-ger.tex +++ b/tex/context/base/lang-ger.tex @@ -165,111 +165,6 @@ \installlanguage [norwegian] [\s!no] \installlanguage [norsk] [\s!no] % bonus switch -% GERMAN -% -% %D The next section is dedicated to Tobias Burnus. -% -% \startlanguagespecifics[\s!de] -% -% \installcompoundcharacter "a {\moveaccent{-.1ex}\"a\midworddiscretionary} -% \installcompoundcharacter "e {\moveaccent{-.1ex}\"e\midworddiscretionary} -% \installcompoundcharacter "i {\moveaccent{-.1ex}\"\i\midworddiscretionary} -% \installcompoundcharacter "o {\moveaccent{-.1ex}\"o\midworddiscretionary} -% \installcompoundcharacter "u {\moveaccent{-.1ex}\"u\midworddiscretionary} -% \installcompoundcharacter "s {\SS} -% \installcompoundcharacter "z {\SS} -% -% \installcompoundcharacter "A {\smashaccent\"A} -% \installcompoundcharacter "E {\smashaccent\"E} -% \installcompoundcharacter "I {\smashaccent\"I} -% \installcompoundcharacter "O {\smashaccent\"O} -% \installcompoundcharacter "U {\smashaccent\"U} -% \installcompoundcharacter "Z {SZ} -% \installcompoundcharacter "S {SS} -% -% \stoplanguagespecifics -% -% \startlanguagespecifics[\s!de] -% -% \installcompoundcharacter "ck {\discretionary {k-}{k}{ck}} -% \installcompoundcharacter "ff {\discretionary{ff-}{f}{ff}} -% \installcompoundcharacter "ll {\discretionary{ll-}{l}{ll}} -% \installcompoundcharacter "mm {\discretionary{mm-}{m}{mm}} -% \installcompoundcharacter "nn {\discretionary{nn-}{n}{nn}} -% \installcompoundcharacter "pp {\discretionary{pp-}{p}{pp}} -% \installcompoundcharacter "rr {\discretionary{rr-}{r}{rr}} -% \installcompoundcharacter "tt {\discretionary{tt-}{t}{tt}} -% -% \installcompoundcharacter "CK {\discretionary {K-}{K}{CK}} -% \installcompoundcharacter "FF {\discretionary{FF-}{F}{FF}} -% \installcompoundcharacter "LL {\discretionary{LL-}{L}{LL}} -% \installcompoundcharacter "MM {\discretionary{MM-}{M}{MM}} -% \installcompoundcharacter "NN {\discretionary{NN-}{N}{NN}} -% \installcompoundcharacter "PP {\discretionary{PP-}{P}{PP}} -% \installcompoundcharacter "RR {\discretionary{RR-}{R}{RR}} -% \installcompoundcharacter "TT {\discretionary{TT-}{T}{TT}} -% -% \stoplanguagespecifics -% -% \startlanguagespecifics[\s!de] -% -% \installcompoundcharacter "` {\handlequotation\c!leftquotation} -% \installcompoundcharacter "' {\handlequotation\c!rightquotation} -% \installcompoundcharacter ". {\kern.1em\ignorespaces} -% -% \def\setupDElanguage% -% {\setuplanguage -% [\s!de] -% [\c!leftsentence=\leftguillemot, -% \c!rightsentence=\rightguillemot, -% \c!leftsubsentence=\leftsubguillemot, -% \c!rightsubsentence=\rightsubguillemot]} -% -% \installcompoundcharacter "< {{\setupDElanguage|<|}} -% \installcompoundcharacter "> {{\setupDElanguage|>|}} -% -% \stoplanguagespecifics -% -% %D An experimental hack: -% -% \startencoding[pdfdoc] -% \startlanguagespecifics[\s!de]% hm, a % is needed -% \defineactivecharacter " {\"} % no {\simplifiedcompoundcharacter"} -% \stoplanguagespecifics -% \stopencoding -% -% \startencoding[ec] -% \startlanguagespecifics[\s!de]% -% \installcompoundcharacter "a {\"a} -% \installcompoundcharacter "e {\"e} -% \installcompoundcharacter "i {\"\i} -% \installcompoundcharacter "o {\"o} -% \installcompoundcharacter "u {\"u} -% \installcompoundcharacter "A {\"A} -% \installcompoundcharacter "E {\"E} -% \installcompoundcharacter "I {\"I} -% \installcompoundcharacter "O {\"O} -% \installcompoundcharacter "U {\"U} -% \stoplanguagespecifics -% \stopencoding -% -% \startencoding[texnansi] -% \startlanguagespecifics[\s!de]% -% \installcompoundcharacter "a {\"a} -% \installcompoundcharacter "e {\"e} -% \installcompoundcharacter "i {\"\i} -% \installcompoundcharacter "o {\"o} -% \installcompoundcharacter "u {\"u} -% \installcompoundcharacter "A {\"A} -% \installcompoundcharacter "E {\"E} -% \installcompoundcharacter "I {\"I} -% \installcompoundcharacter "O {\"O} -% \installcompoundcharacter "U {\"U} -% \stoplanguagespecifics -% \stopencoding -% -% %D This hack should be perfected. - %% NORWEGIAN % % These three letters (in this order) are the diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.tex index f2640379a..cc2f8af93 100644 --- a/tex/context/base/lang-ita.tex +++ b/tex/context/base/lang-ita.tex @@ -477,21 +477,6 @@ \setuplabeltext [\s!ro] [\v!friday=vineri] \setuplabeltext [\s!ro] [\v!saturday=s\^{a}mb\u{a}t\u{a}] -% \startlanguagespecifics[\s!ro] -% -% \installcompoundcharacter "a {\u{a}} -% \installcompoundcharacter "i {\^{\i}} -% \installcompoundcharacter "s {\c{s}} -% \installcompoundcharacter "t {\c{t}} -% \installcompoundcharacter "A {\^{a}} -% \installcompoundcharacter "I {\^{I}} -% \installcompoundcharacter "S {\c{S}} -% \installcompoundcharacter "T {\c{T}} -% \installcompoundcharacter "` {\handlequotation\c!leftquotation} -% \installcompoundcharacter "' {\handlequotation\c!rightquotation} -% -% \stoplanguagespecifics - %D Rather new \unknown \setuplabeltext [\s!it] [\v!page=pagina ] diff --git a/tex/context/base/lang-sla.tex b/tex/context/base/lang-sla.tex index ee990dab0..f517fe7ff 100644 --- a/tex/context/base/lang-sla.tex +++ b/tex/context/base/lang-sla.tex @@ -142,81 +142,7 @@ \installlanguage [slovenian] [\s!sl] \installlanguage [slovene] [\s!sl] % both possible -% specifics -% -% \startlanguagespecifics[\s!pl] -% -% \installcompoundcharacter /a {\k a} -% \installcompoundcharacter /c {\'c} -% \installcompoundcharacter /e {\k e} -% \installcompoundcharacter /l {\l} -% \installcompoundcharacter /n {\'n} -% \installcompoundcharacter /o {\'o} -% \installcompoundcharacter /s {\'s} -% \installcompoundcharacter /x {\'z} -% \installcompoundcharacter /z {\.z} -% \installcompoundcharacter /A {\k A} -% \installcompoundcharacter /C {\'C} -% \installcompoundcharacter /E {\k E} -% \installcompoundcharacter /L {\L} -% \installcompoundcharacter /N {\'N} -% \installcompoundcharacter /O {\'O} -% \installcompoundcharacter /S {\'S} -% \installcompoundcharacter /X {\'Z} -% \installcompoundcharacter /Z {\.Z} -% -% \stoplanguagespecifics -% -% \startlanguagespecifics[\s!pl] -% -% \installcompoundcharacter /, {\handlequotation\c!leftquotation} -% \installcompoundcharacter /' {\handlequotation\c!rightquotation} -% -% \def\setupPLlanguage% -% {\setuplanguage -% [\s!pl] -% [\c!leftsentence=\leftguillemot, -% \c!rightsentence=\rightguillemot, -% \c!leftsubsentence=\leftsubguillemot, -% \c!rightsubsentence=\rightsubguillemot]} -% -% \installcompoundcharacter /< {{\setupPLlanguage|<|}} -% \installcompoundcharacter /> {{\setupPLlanguage|>|}} -% -% \installcompoundcharacter /- {|-|} -% -% \stoplanguagespecifics -% -% \startlanguagespecifics[\s!pl] -% -% \definesortkey {/a}{a}{a}{\k a} -% \definesortkey {/A}{a}{a}{\k a} -% \definesortkey {/c}{c}{a}{\'c} -% \definesortkey {/C}{c}{a}{\'c} -% \definesortkey {/e}{e}{a}{\k e} -% \definesortkey {/E}{e}{a}{\k e} -% \definesortkey {/l}{l}{a}{\l } -% \definesortkey {/L}{l}{a}{\l } -% \definesortkey {/n}{n}{a}{\'n} -% \definesortkey {/N}{n}{a}{\'n} -% \definesortkey {/o}{o}{a}{\'o} -% \definesortkey {/O}{o}{a}{\'o} -% \definesortkey {/s}{s}{a}{\'s} -% \definesortkey {/S}{s}{a}{\'s} -% \definesortkey {/x}{z}{a}{\'x} -% \definesortkey {/X}{z}{a}{\'x} -% \definesortkey {/z}{z}{b}{\.z} -% \definesortkey {/Z}{z}{b}{\.z} -% -% \stoplanguagespecifics -% -% \startencoding[pdfdoc] -% \startlanguagespecifics[pl]% hm -% \defineactivecharacter / {\simplifiedcompoundcharacter/} -% \stoplanguagespecifics -% \stopencoding -% -% this can best be handled by \quotation and || +% If this is really needed we should make an enco-fhr. % % \startlanguagespecifics[\s!hr] % diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex index 5a5bafe24..61df03246 100644 --- a/tex/context/base/page-lay.tex +++ b/tex/context/base/page-lay.tex @@ -928,25 +928,19 @@ \newif\ifdubbelzijdig \dubbelzijdigfalse \newif\ifenkelzijdig \enkelzijdigtrue -\def\doifsometextlineelse#1% - {\edef\!!stringa{\csname\??tk#1\c!state\endcsname}% - \ifx\!!stringa\v!none - \@EA\secondoftwoarguments - \else\ifx\!!stringa\v!high - \@EAEAEA\secondoftwoarguments - \else - \@EAEAEA\firstoftwoarguments - \fi\fi} - % NOG EENS NAGAAN WANNEER NU GLOBAL EN WANNEER NIET +\ifx\doifelselayoutsomeline\undefined % defined in page-txt + \let\doifelselayoutsomeline\secondofthreearguments +\fi + \def\calculatevsizes % global needed in \recalculatelayoutregel {\redoglobal\textheight\makeupheight - \doifsometextlineelse \v!header + \doifelselayoutsomeline \v!header {\redoglobal\advance\textheight -\headerheight \redoglobal\advance\textheight -\headerdistance}% \donothing - \doifsometextlineelse \v!footer + \doifelselayoutsomeline \v!footer {\redoglobal\advance\textheight -\footerheight \redoglobal\advance\textheight -\footerdistance}% \donothing @@ -965,12 +959,12 @@ \def\calculatereducedvsizes {\textheight\makeupheight - \doifsometextlineelse \v!header + \doifelselayoutsomeline \v!header {\advance\textheight -\headerheight \advance\textheight -\headerdistance}% {\headerheight\zeropoint \setlayoutdistances}% - \doifsometextlineelse \v!footer + \doifelselayoutsomeline \v!footer {\advance\textheight -\footerheight \advance\textheight -\footerdistance}% {\footerheight\zeropoint diff --git a/tex/context/base/page-txt.tex b/tex/context/base/page-txt.tex index a36bf9256..a6b6fe2b1 100644 --- a/tex/context/base/page-txt.tex +++ b/tex/context/base/page-txt.tex @@ -72,10 +72,14 @@ \getparameters[\??tk#1#2][#3]% \else %\getparameters[\??tk#1\v!text][#2]% + \edef\previoustextstate{\getvalue{\??tk#1\c!state}}% \getparameters[\??tk#1][#2]% - \fi - %\checkcurrentlayout % no - \calculatevsizes} + \doifnotvalue{\??tk#1\c!state}\previoustextstate + {%\checkcurrentlayout % no + \calculatevsizes + \recalculatebackgrounds + \recalculatelogos}% + \fi} \def\setuptop {\dotripleempty\dosetuplayouttext[\v!top]} \def\setupheader {\dotripleempty\dosetuplayouttext[\v!header]} @@ -220,7 +224,7 @@ \appendtoks \placelayouttextline\v!footer\footerheight \to \footertextcontent \appendtoks \placelayouttextline\v!bottom\bottomheight \to \bottomtextcontent -%D Texts can be disables, moved up and ignored, depending in +%D Texts can be disabled, moved up and ignored, depending in %D the \type {status} variable. This is handled by the next %D couple of macros. @@ -237,10 +241,31 @@ \fi \endcsname{#1}} % {#2} -\setvalue{\string\placelayouttextline\v!normal}{\doplacelayouttextline} +\def\doifelselayouttextline#1% shown or not + {\doifinsetelse{\getvalue{\??tk#1\c!state}}{\v!normal,\v!start}} + +\def\doifelselayoutsomeline#1% present or not + {\edef\!!stringa{\csname\??tk#1\c!state\endcsname}% + \ifx\!!stringa\v!none + \@EA\secondoftwoarguments + \else\ifx\!!stringa\v!high + \@EAEAEA\secondoftwoarguments + \else + \@EAEAEA\firstoftwoarguments + \fi\fi} + +% \doplacelayouttextline does the actual placement (when a non-zero height) + +\newconditional\resyncaftertextline + +\setvalue{\string\placelayouttextline\v!normal }{\doplacelayouttextline} \setvalue{\string\placelayouttextline }{\doplacelayouttextline} -\letvalue{\string\placelayouttextline\v!none }\gobbletwoarguments -\letvalue{\string\placelayouttextline\v!high }\gobbletwoarguments + +\setvalue{\string\placelayouttextline\v!none}#1#2% + {} + +\setvalue{\string\placelayouttextline\v!high}#1#2% + {\global\settrue\resyncaftertextline} \setvalue{\string\placelayouttextline\v!empty}#1#2% {\resettextlinestatus{#1}} @@ -260,40 +285,45 @@ \egroup} \setvalue{\string\placelayouttextline\s!unknown}#1#2% - {\bgroup % new + {\global\settrue\resyncaftertextline + \bgroup % new \resettextlinestatus{#1}% \getvalue{\??tk#1\textlinestatus}% - \getvalue{\??tk#1\v!text\textlinestatus}% + \getvalue{\??tk#1\v!text \textlinestatus}% \getvalue{\??tk#1\v!margin\textlinestatus}% - \getvalue{\??tk#1\v!edge\textlinestatus}% + \getvalue{\??tk#1\v!edge \textlinestatus}% \doplacelayouttextline{#1}{#2}% \egroup} %D The following macro has to be called after a page %D is flushed. -\def\resetlayouttextline#1% beware: global assignment +\def\resetlayouttextline#1% {\doifvalue{\??tk#1\c!state}\v!high - {\resettextlinestatus{#1}% - \donetrue}} + {\global\settrue\resyncaftertextline + \resettextlinestatus{#1}}} \def\resetlayouttextlines - {\donefalse - \resetlayouttextline\v!top + {\resetlayouttextline\v!top \resetlayouttextline\v!header \resetlayouttextline\v!text \resetlayouttextline\v!footer \resetlayouttextline\v!bottom - \ifdone + \ifconditional\resyncaftertextline \doglobal\calculatevsizes \recalculatebackgrounds \recalculatelogos + \global\setfalse\resyncaftertextline \fi} %D The next series of macros is not that easy to read, %D because they hook into the main page building macros. By %D using token list registers for the text content, we can %D easily hook in other code, like menu generators. +%D +%D Beware: the token lists are always expanded, also when the +%D height of an area is zero. This is because reset actions can +%D be part of them. \newbox\scratchpagebox @@ -305,15 +335,11 @@ \offinterlineskip \vskip-\topheight \vskip-\topdistance - \ifdim\topheight>\zeropoint - \the\toptextcontent - \vskip\topheight - \fi + \the\toptextcontent + \vskip\topheight \vskip\topdistance - \ifdim\headerheight>\zeropoint - \the\headertextcontent - \vskip\headerheight - \fi + \the\headertextcontent + \vskip\headerheight \vskip\headerdistance \placepositionanchors \vskip-\textheight @@ -321,15 +347,11 @@ \vskip\textheight \the\everyendoftextbody \vskip\footerdistance - \ifdim\footerheight>\zeropoint - \the\footertextcontent - \vskip\footerheight - \fi + \the\footertextcontent + \vskip\footerheight \vskip\bottomdistance - \ifdim\bottomheight>\zeropoint - \the\bottomtextcontent - \vskip\bottomheight - \fi + \the\bottomtextcontent + \vskip\bottomheight \vfilll}% \smashbox\scratchpagebox \box\scratchpagebox} diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex index f3699a658..a643667c5 100644 --- a/tex/context/base/supp-lan.tex +++ b/tex/context/base/supp-lan.tex @@ -359,7 +359,7 @@ %D %D \starttyping %D \startlanguagespecifics[de] -%D \installcompoundcharacter "a {\moveaccent{-.1ex}\"a\midworddiscretionary} +%D \installcompoundcharacter "a {{\moveaccent{-.1ex}\"a\midworddiscretionary}} %D \stoplanguagespecifics %D \stoptyping %D @@ -964,16 +964,16 @@ \def\@cc@{@cc@} % compound character \def\@cs@{@cs@} % compound characters -% \def\installcompoundcharacter #1#2#3 #4% {{#4}} keeps move local +% \def\installcompoundcharacter #1#2#3 #4% {#4} no grouping % {\setvalue{\@nc@\string#1}{\char`#1}% % \ifnum\catcode`#1=\@@active \else % \setevalue{\@nn@\string#1}{\number\catcode`#1}% new % \fi % \def\!!stringa{#3}% % \ifx\!!stringa\empty -% \setvalue{\@cc@\string#1\string#2}{{#4}}% +% \setvalue{\@cc@\string#1\string#2}{#4}% % \else -% \setvalue{\@cs@\string#1\string#2\string#3}{{#4}}% +% \setvalue{\@cs@\string#1\string#2\string#3}{#4}% % \fi % \catcode`#1=\@@active % \scratchcounter=\the\uccode`~ @@ -981,7 +981,7 @@ % \uppercase{\unexpanded\def~{\handlecompoundcharacter~}}% % \uccode`~=\scratchcounter} -\def\installcompoundcharacter #1#2#3 #4% {{#4}} keeps move local +\def\installcompoundcharacter #1#2#3 #4% {#4} no grouping {\chardef\thecompoundcharacter`#1% %\@EA\def\csname\@nc@\string#1\endcsname{\char`#1}% \@EA\chardef\csname\@nc@\string#1\endcsname\thecompoundcharacter @@ -994,7 +994,7 @@ \@cc@\string#1\string#2% \else \@cs@\string#1\string#2\string#3% - \fi\endcsname{{#4}}% + \fi\endcsname{#4}% \catcode\thecompoundcharacter\@@active \scratchcounter\uccode\activehackcode \uccode\activehackcode\thecompoundcharacter diff --git a/tex/context/base/xtag-ext.tex b/tex/context/base/xtag-ext.tex index e109ce2c7..da8410507 100644 --- a/tex/context/base/xtag-ext.tex +++ b/tex/context/base/xtag-ext.tex @@ -163,13 +163,25 @@ \gdef\saveXMLdata#1#2% name data-name ; definitely no \edef {\dodoglobal\copycsname\@@XMLsave:#1\endcsname\csname\@@XMLdata:#2\endcsname} +% \gdef\saveXMLdatainelement#1#2#3% name element data +% {\dodoglobal\setevalue{\@@XMLsave:#1}% todo: one level expansion +% {<#2 \currentXMLarguments>\XMLflush{#3}</#2>}} +% +% \gdef\saveXMLdatastructure#1#2#3#4#5#6% name element args before data after +% {\dodoglobal\setevalue{\@@XMLsave:#1}% todo: one level expansion +% {<#2 #3 \currentXMLarguments>#4\XMLflush{#5}#6</#2>}} +% +% better (no expansion): + +\newtoks\XMLdatatoks + \gdef\saveXMLdatainelement#1#2#3% name element data - {\dodoglobal\setevalue{\@@XMLsave:#1}% todo: one level expansion - {<#2 \currentXMLarguments>\XMLflush{#3}</#2>}} + {\XMLdatatoks\@EAEAEA{\csname\@@XMLdata:#3\endcsname}% no check + \dodoglobal\setevalue{\@@XMLsave:#1}{<#2 \currentXMLarguments>\the\XMLdatatoks</#2>}} \gdef\saveXMLdatastructure#1#2#3#4#5#6% name element args before data after - {\dodoglobal\setevalue{\@@XMLsave:#1}% todo: one level expansion - {<#2 #3 \currentXMLarguments>#4\XMLflush{#5}#6</#2>}} + {\XMLdatatoks\@EAEAEA{\csname\@@XMLdata:#5\endcsname}% no check + \dodoglobal\setevalue{\@@XMLsave:#1}{<#2 #3 \currentXMLarguments>#4\the\XMLdatatoks#6</#2>}} \gdef\gsaveXMLasdata {\doglobal\saveXMLasdata} \gdef\gsaveXMLdata {\doglobal\saveXMLdata} |