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.