From 19f51c58f9a7eda52a1108dd836825631b3cbf08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Sun, 28 Mar 2010 13:39:06 +0200 Subject: Add catcode defenses. --- luatexbase-regs.dtx | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) (limited to 'luatexbase-regs.dtx') diff --git a/luatexbase-regs.dtx b/luatexbase-regs.dtx index bf532ed..89c2313 100644 --- a/luatexbase-regs.dtx +++ b/luatexbase-regs.dtx @@ -164,6 +164,43 @@ See source file '\inFileName' for details. \expandafter\let\csname lltxb@regs@loaded\endcsname\endinput % \end{macrocode} % +% Catcode defenses. +% +% \begin{macrocode} +\begingroup + \catcode123 1 % { + \catcode125 2 % } + \catcode 35 6 % # + \toks0{}% + \def\x{}% + \def\y#1 #2 {% + \toks0\expandafter{\the\toks0 \catcode#1 \the\catcode#1}% + \edef\x{\x \catcode#1 #2}}% + \y 123 1 % { + \y 125 2 % } + \y 35 6 % # + \y 10 12 % ^^J + \y 34 12 % " + \y 36 3 % $ $ + \y 39 12 % ' + \y 40 12 % ( + \y 41 12 % ) + \y 42 12 % * + \y 43 12 % + + \y 44 12 % , + \y 45 12 % - + \y 46 12 % . + \y 47 12 % / + \y 60 12 % < + \y 61 12 % = + \y 64 11 % @ (letter) + \y 62 12 % > + \y 95 12 % _ (other) + \y 96 12 % ` + \edef\y#1{\endgroup\edef#1{\the\toks0\relax}\x}% +\expandafter\y\csname lltxb@regs@AtEnd\endcsname +% \end{macrocode} +% % Package declaration. % % \begin{macrocode} @@ -195,20 +232,12 @@ See source file '\inFileName' for details. \let\x\PackageWarningNoLine \fi \expandafter\endgroup - \x{luatexbase-regs}{LuaTeX is required for this package.^^J - Aborting package loading.} + \x{luatexbase-regs}{LuaTeX is required for this package. Aborting.} + \lltxb@regs@AtEnd \expandafter\endinput \fi % \end{macrocode} % -% Make sure the catcode of @ is correct, especially for \plaintex. -% -% \begin{macrocode} -\expandafter\edef\csname lltxb@regs@AtEnd\endcsname{% - \catcode64 \the\catcode64\relax} -\catcode64 11 -% \end{macrocode} -% % \subsection{Main content} % % If running \latex, load \file{etex.sty}. If not, either -- cgit v1.2.3