summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base/ltfssdcl.dtx')
-rw-r--r--Master/texmf-dist/source/latex/base/ltfssdcl.dtx29
1 files changed, 21 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
index 25ac234848d..8a1f47e2178 100644
--- a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssdcl.dtx}
- [2007/08/31 v3.0l LaTeX Kernel (NFSS Declarative Interface)]
+ [2011/05/08 v3.0n LaTeX Kernel (NFSS Declarative Interface)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -52,7 +52,7 @@
%<+checkmem>\CHECKMEM
% \fi
%
-% \CheckSum{1879}
+% \CheckSum{1886}
%
%
% \GetFileInfo{ltfssdcl.dtx}
@@ -110,16 +110,29 @@
%
%
% \begin{macro}{\in@}
+% \changes{v3.0m}{2009/10/20}{More robust thanks to Heiko.}
+% \changes{v3.0n}{2011/05/08}{Simplified thanks to Bruno.}
% \begin{macro}{\ifin@}
% |\@in| is a utility macro with two arguments. It determines
-% whether its first argument occurs in its second (after expanding
-% it) and sets the switch |\if@in| accordingly.
+% whether its first argument occurs in its second and sets the
+% switch |\ifin@| accordingly. The first argument may not
+% contain braces nor |#| (more precisely, tokens of category
+% code 1,~2, or~6).
% \begin{macrocode}
%<*2ekernel|autoload>
-\def\in@#1#2{%
- \def\in@@##1#1##2##3\in@@{%
- \ifx\in@##2\in@false\else\in@true\fi}%
- \in@@#2#1\in@\in@@}
+\def\in@#1#2%
+ {%
+ \begingroup
+ \def\in@@##1#1{}%
+ \toks@\expandafter{\in@@#2{}{}#1}%
+ \edef\in@@{\the\toks@}%
+ \expandafter\endgroup
+ \ifx\in@@\@empty
+ \in@false
+ \else
+ \in@true
+ \fi
+ }
\newif\ifin@
% \end{macrocode}
% \end{macro}