'Not element of' in Latin Modern

After last Khaled's comment, here's something that seems to work

\Umathchardef\xnot="3 \symoperators "0338
\AtBeginDocument{
  \renewcommand\not[1]{#1\xnot}
  \renewcommand{\notin}{\not\in}
}

Then

$a\not\in b \notin c$

will work (although the placement doesn't seem to be optimal).

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}

\Umathchardef\xnot="3 \symoperators "0338
\AtBeginDocument{\renewcommand\not[1]{#1\xnot}
\renewcommand{\notin}{\in\xnot}}

\begin{document}

$a \not\in S_{\not\in}$

$a\in\xnot b \notin c$

$a\in b \in c$

\end{document}

enter image description here

A possible improvement is to say

\Umathchardef\xnot="3 \symoperators "0338
\AtBeginDocument{
  \renewcommand\not[1]{#1\mathrel{\mkern1mu}\xnot}
  \renewcommand{\notin}{\not\in}
}

that pushes the slash slightly to the right, so that the upper end is lined up with the terminators of the \in symbol.

enter image description here

Note: this definitely doesn't work with XITS Math or Asana Math, which, however, have the proper symbol.

UPDATE

As of January 2013, the problem seems to be solved; here's the minimal example:

\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}

\begin{document}

$a \not\in S_{\not\in}$

$a \notin S_{\notin}$

\end{document}

enter image description here

Both LuaLaTeX and XeLaTeX give the correct result.

FURTHER UPDATES

The code was broken again, but version 0.8j of unicode-math seems to have fixed the issues.


\documentclass{article}
\usepackage{unicode-math}
\setmainfont{Latin Modern Roman}
\setmathfont{Latin Modern Math}
\newcommand\cnot[1]{%
  \mathrel{\ooalign{\hfil$#1$\hfil\cr\hfil$/$\hfil\cr}}}

\begin{document}

$a \cnot\in S$

\end{document}

Note: I don't know why Oberdiek's centernot package also fail. So I had to implement one myself.


Edit:

To make the macro to change size automatically as egreg suggested,

\def\cnot#1{\mathrel{\mathpalette\ccnot{#1}}}
\def\ccnot#1#2{\ooalign{\hfil$#1#2$\hfil\cr\hfil$#1/$\hfil\cr}} % helper macro