Correcting a mistake of mine:
>Date: Sat, 25 Apr 2009 18:24:08 +0200
>From: Uwe Lück <[log in to unmask]>
>
>\def\in@#1#2{%
> \def\in@@##1#1##2\in@@{%
> \ifx\in@@##2\in@@\in@false\else\in@true\fi}%
> \in@@#2\in@#1\in@@}
>
>With \in@{<pattern>}{<target>}, the emptiness test is correct unless
><pattern><copy> is in <target> where <copy> is a copy of the actual \in@@.
>The final split ##2 is non-empty iff <pattern> is in <target> or <patter>
>is in <target> where <pattern> is <patter>\[log in to unmask] (The latter case includes
>that <pattern> could be a sequence of `\in@'s where ##2 would be one \[log in to unmask])
The final split ##2 is non-empty iff <pattern> is in <target> or <pat> ends
<target> where <pattern> is <pat>\in@<ern> and <pat> starts with <ern>.
Cheers!!
Uwe.