Permalink
Switch branches/tags
Find file
Fetching contributors…
Cannot retrieve contributors at this time
167 lines (134 sloc) 3.73 KB
\documentclass{minimal}
\usepackage{ted, trace}
%% trucs utiles en vrac {{{
\makeatletter
\let\sptoken= \@sptoken
\let\hashtoken=#
\let\tedout\ted@toks
\let\tednb\ted@count
\def\nosanitize{\let\ted@sanitize\relax}
\newcommand\Test[1]{%
\typeout{\unexpanded{#1}}%
#1}
\newcommand\TestS[1]{%
\Test{#1}\typeout{\the\tedout}}
\makeatother
%% \ShowTokens {{{
% \ShowTokens{abc123}
% \ShowTokens{{}$&#^_ a0~b$\truc\relax}
% { \let~=#%
% \ShowTokens{a\ifx b\bgroup c\sptoken d\egroup e\hashtoken f~g\par}
% }
% { \uccode32=65 \catcode`B=10 \uccode`#=32
% \uppercase{\ShowTokens{1 2B3#4}}%
% }%
% \expandafter\let\csname truc chose \space abc\endcsname=#
% \tedout\expandafter{\csname truc chose \space abc\endcsname a {\ifx}b%
% \bgroup lol}
% \ShowTokens*{\the\tedout}
% \edef\truc{12 45 789A \space2345 789B12 45 789C 2345 789D123456789E}
% \def\lol{aaaaaaa aaaaaaa aaaaaaaaa aaaaaaaaaaaaaa }
% \ShowTokens{a\truc 1\lol 2}
%% bug d'avant 1.6 : afficher des lexèmes (32, X) pour X différent de 10. {{{
% \begingroup
% \catcode`\< 1 \catcode`\> 2
% \uccode`\< 32
% \uccode`\> 32
% \uccode`\$ 32
% \uccode`\& 32
% \uccode`\# 32
% \uccode`\^ 32
% \uccode`\_ 32
% \uccode`\a 32
% \uccode`\0 32
% \uccode`\~ 32
% \uppercase{\endgroup
% \ShowTokens{<>$&#^_ a0~b$\truc\relax}}
% \Test
% \ShowTokensLogonly
% \ShowTokens{{}$&#^_ a0~b$\truc\relax}
% \ShowTokensOnline
% \Endtest
%% Tests sur le vide {{{
% \ShowTokens{}
% \Substitute{}{a}{b}
% \showthe\tedout
% \Substitute{abc}{}{1}% donne a1b1c
% \showthe\tedout
% \Substitute{abcdeblabla}{a}{}
% \showthe\tedout
%% \Substitute {{{
% \Substitute{a c}{a}{1}
% \ShowTokens*{\the\tedout}
% \Substitute{ }{}{}
% \ShowTokens*{\the\tedout}
% \Substitute{\sptoken}{}{}
% \ShowTokens*{\the\tedout}
% \Substitute{\bgroup}{}{}
% \ShowTokens*{\the\tedout}
% \Substitute{{}}{}{}
% \ShowTokens*{\the\tedout}
% \Substitute{#}{}{}
% \ShowTokens*{\the\tedout}
% \def\de{1}
% \def\vers{11}
% \tedout{a1b2c3d11e}
% \Substitute**{\the\tedout}{\de}{\vers}
% \ShowTokens*{\the\tedout}
% \tedout{a\de b\de c\de\de d}
% \Substitute*[\long\def\truc]{\the\tedout}{\de}{\vers}
% \show\truc
% {\catcode`(1 \catcode`)2
% \Substitute{\par@is{\par(par{\par1 )\p}ar}\p@r}\par\ifcat
% \showthe\tedout
% \expandafter}\expandafter\tedout\expandafter{\the\tedout}
% \showthe\tedout
% \expandafter\Substitute\expandafter{\the\tedout}\ifcat\par
% \showthe\tedout
% \Substitute{Joss est beau, {Joss } est intelligent, { Joss} aime bien jouer %
% avec les catcodes{}. Josselin est un prénom bizarre.}{Joss}{Jean-Côme}
% \showthe\tedout
% \Substitute{Joss est beau, {Joss } est intelligent, { Joss} aime bien jouer %
% avec les catcodes{}. Josselin est un prénom bizarre.}{Joss}{Josselin}
% \showthe\tedout
% \showthe\tednb
% \Substitute{ Paris{,} {cap{ital}e} {du} libre{.} }{a}{aa}
% \showthe\tedout
% \Substitute{a#b#c#d}{#b#}{11#11}
% \showthe\tedout
% \Substitute{a#b#c#d}{b#c}{1#2#3}
% \showthe\tedout
% \Substitute{a{b}c{bcb} { {b}}} {{b}} {b{1}b}
% \showthe\tedout
% { \uccode32 65 \uppercase{\gdef\test{\Substitute{a a b}{A}{X}}}}
% \test
% \ShowTokens*{\the\tedout}
% bug d'avant 1.05 : remplacer AA dans une liste finissant par A
% \Substitute{abcddcbaabcd}{dd}{d}
% \showthe\tedout
%% Exemples de la doc {{{
% \begingroup \uccode`\~=32 \uppercase{\endgroup
% \def\macro{1~2}}
% \ShowTokens*{\macro}
\begin{document}
% ab\par
% a\ShowTokens{abc}b\par
% a\Substitute{abc}{b}{d}b\par
%% rapport de bug (?) du 18/03/2008
%%
% \TestS{\Substitute{}{*}{!}}
% \TestS{\Substitute{{}}{*}{!}}
% \TestS{\Substitute{{}*}{*}{!}}
% \TestS{\Substitute{*{*}}{*}{!}}
\nosanitize
\wlog{\noexpand\makeatletter}
\tracingmacros1
\tracingassigns1
\tracingcommands1
%\tracingifs1
\tracingmacros0
\tracingassigns0
\tracingcommands0
\tracingifs0
\stop
% vim: set fdm=marker