summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tex/context/base/cont-new.tex19
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-sec.tex10
-rw-r--r--tex/context/base/enco-fde.tex6
-rw-r--r--tex/context/base/enco-fpl.tex36
-rw-r--r--tex/context/base/enco-fro.tex10
-rw-r--r--tex/context/base/lang-ger.tex105
-rw-r--r--tex/context/base/lang-ita.tex15
-rw-r--r--tex/context/base/lang-sla.tex76
-rw-r--r--tex/context/base/page-lay.tex22
-rw-r--r--tex/context/base/page-txt.tex86
-rw-r--r--tex/context/base/supp-lan.tex12
-rw-r--r--tex/context/base/xtag-ext.tex20
-rw-r--r--tex/context/interface/keys-cz.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-fr.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
20 files changed, 125 insertions, 308 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}
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 89c927bd1..f324eaae6 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="jedna"/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 81a269c5f..5e0eb2ba3 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="eins"/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 1fb5d235d..dd57ab734 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="one"/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index f7d7755b1..1d316483e 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="un"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 09a4d499a..b95a661bb 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="uno"/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index cb3930f26..6b973fb5e 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="een"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index 9bba8b635..d01314b63 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.01.27 13:58">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.01.28 10:09">
<cd:variables>
<cd:variable name="one" value="unu"/>