From 5c91b9f8a88e06f057a6a08b0a755a224d08e019 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 18 Nov 2006 01:37:52 +0000 Subject: context 17nov06 update git-svn-id: svn://tug.org/texlive/trunk@2449 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/context/base/filt-ini.tex | 39 ++++++++++++++++++++----- 1 file changed, 31 insertions(+), 8 deletions(-) (limited to 'Master/texmf-dist/tex/context/base/filt-ini.tex') 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} -- cgit v1.2.3