[dev-context] [Fwd: [NTG-context] tracingmacros]

Hans Hagen pragma at wxs.nl
Fri Jul 14 15:23:07 CEST 2006


Taco Hoekwater wrote:
> Hi,
>
> We can't do what Hans asks right now, but it may be worthwhile to
> add a new if statement in some locations to support this (a
> similar issue is present for the output routine).
>
> If we have
>
>     \newif\iftracingfonts
>
> Then maybe we can do
>
>     \def\synchronizefont%
>        {\iftracingfonts\else \tracingnone \fi
>         ........ }
>
> or something similar is possible. WDYT?
>   
we can make a new logging system, something

\newtoks \everytracingall
\newtoks \everytracingnone

\appendtoks
  \tracingonline    \plusone
  \tracingcommands  \plusthree
  \tracingstats     \plustwo
  \tracingpages     \plusone
  \tracingoutput    \plusone
  \tracinglostchars \plustwo
  \tracingmacros    \plustwo
  \tracingparagraphs\plusone
  \tracingrestores  \plusone
  \showboxbreadth   \maxdimen
  \showboxdepth     \maxdimen
  \tracinggroups    \plusone
  \tracingifs       \plusone
  \tracingscantokens\plusone
  \tracingnesting   \plusone
  \tracingassigns   \plustwo
\to \everytracingall

\appendtoks
  \tracingassigns   \zerocount
  \tracingnesting   \zerocount
  \tracingscantokens\zerocount
  \tracingifs       \zerocount
  \tracinggroups    \zerocount
  \showboxdepth     \plusthree
  \showboxbreadth   \plusfive
  \tracingrestores  \zerocount
  \tracingparagraphs\zerocount
  \tracingmacros    \zerocount
  \tracinglostchars \plusone
  \tracingoutput    \zerocount
  \tracingpages     \zerocount
  \tracingstats     \zerocount
  \tracingcommands  \zerocount
  \tracingonline    \zerocount
\to \everytracingnone

\appendtoks
  \errorstopmode
\to \everytracingall

\def\tracingall {\the\everytracingall }
\def\tracingnone{\the\everytracingnone}

\def\loggingall {\tracingall\tracingonline\zerocount}

\newcount\tracingalldepth

\let\normaltracingall \tracingall
\let\normaltracingnone\tracingnone

\let\pushtracingall\donothing
\let\poptracingall \donothing

\def\tracingless
  {\def\pushtracingall
     {\global\advance\tracingalldepth\plusone
      \ifcase\tracingalldepth\or
        \normaltracingnone
      \fi}%
   \def\poptracingall
     {\ifcase\tracingalldepth\or
        \normaltracingall
      \fi
      \global\advance\tracingalldepth\minusone}%
   \normaltracingall}

\let\xsynchronizefont\synchronizefont

\def\synchronizefont
  {\pushtracingall
   \xsynchronizefont
   \poptracingall}

\tracingless test {\em test \bf test} test

this is rather efficient (no checking when not enabled) 

implementing an iftracingfonts can then be done on top of that, for instance 

\def\synchronizefont
  {\pushtracingall\tracingfontmode
   \xsynchronizefont
   \poptracingall\tracingfontmode}

and something \settrue \tracingfontmode 

needs a bit of thinking because we need to add code all over the place 

Hans 



Hans 


-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------



More information about the dev-context mailing list