summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/filt-ini.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-11-18 01:37:52 +0000
committerKarl Berry <karl@freefriends.org>2006-11-18 01:37:52 +0000
commit5c91b9f8a88e06f057a6a08b0a755a224d08e019 (patch)
tree57cfafb6bd6c146dcdfc911dbef8db622c6476bd /Master/texmf-dist/tex/context/base/filt-ini.tex
parent983736c2ab572e9a860c74f0f781b3decd282f13 (diff)
context 17nov06 update
git-svn-id: svn://tug.org/texlive/trunk@2449 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/filt-ini.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/filt-ini.tex39
1 files changed, 31 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/context/base/filt-ini.tex b/Master/texmf-dist/tex/context/base/filt-ini.tex
index d6e03f9684a..9e2af2c6e6e 100644
--- a/Master/texmf-dist/tex/context/base/filt-ini.tex
+++ b/Master/texmf-dist/tex/context/base/filt-ini.tex
@@ -64,6 +64,16 @@
2: filtre -- inconnu
\stopmessages
+% We need the {\??ot::#1} check because otherwise aleph will crash. Taco's
+% torture test:
+%
+% \ocp\ArabicContext = contextual
+%
+% \dorecurse {5000} {
+% \message{[\recurselevel]}
+% \ocplist\Arabic=\addbeforeocplist 1 \ArabicContext \nullocplist
+% }
+
%D \macros
%D {definefiltersynonym}
@@ -82,11 +92,15 @@
%D \macros
%D {definefiltersequence}
-\def\definefiltersequence%
+\def\definefiltersequence
{\dodoubleargument\dodefinefiltersequence}
+% \def\dodefinefiltersequence[#1][#2]%
+% {\setvalue{\??ot#1}{#2}}
+
\def\dodefinefiltersequence[#1][#2]%
- {\setvalue{\??ot#1}{#2}}
+ {\setxvalue{\??ot#1}{#2}%
+ \letgvalue{\??ot::#1}\v!stop}
%D \macros
%D {usefiltersequence}
@@ -121,13 +135,22 @@
\expandafter\noexpand\csname\??or:\!!stringa\endcsname
\to \scratchtoks}
+% \unexpanded\def\usefiltersequence[#1]%
+% {\edef\currentfiltersequence{\getvalue{\??ot#1}}%
+% \scratchtoks\emptytoks
+% \processcommacommand[\currentfiltersequence]\dodousefiltersequence
+% % \showthe\scratchtoks
+% \expanded{\ocplist\csname\??ot:#1\endcsname=\the\scratchtoks}\nullocplist
+% \expanded{\pushocplist\csname\??ot:#1\endcsname}\relax}
+
\unexpanded\def\usefiltersequence[#1]%
- {\edef\currentfiltersequence{\getvalue{\??ot#1}}%
- \scratchtoks\emptytoks
- \processcommacommand[\currentfiltersequence]\dodousefiltersequence
- % \showthe\scratchtoks
- \expanded{\ocplist\csname\??ot:#1\endcsname=\the\scratchtoks}\nullocplist
- \expanded{\pushocplist\csname\??ot:#1\endcsname}\relax}
+ {\doifdefined{\??ot::#1}%
+ {\doifvalue{\??ot::#1}\v!stop
+ {\scratchtoks\emptytoks
+ \expanded{\processcommalist[\getvalue{\??ot#1}]}\dodousefiltersequence
+ \expanded{\global\ocplist\csname\??ot:#1\endcsname=\the\scratchtoks}\nullocplist
+ \letgvalue{\??ot::#1}\v!start}%
+ \expanded{\pushocplist\csname\??ot:#1\endcsname}\relax}}
%D \macros
%D {usefilter}