Hello,
AFAIK, an expression with \primitive will become expandable
if and only if the primitive is expandable.
(pdfTeX: \pdfprimitive)
The problem arises with \pdfoutput, a kind of count register.
Therefore it isn't expandable. This doesn't hurt, if \pdfoutput
is set. However it cannot get its value anymore:
\gdef\pdfoutput{\primitive\pdfoutput}
a) \ifcase\pdfoutput
fails with
! Missing number, treated as zero.
<to be read again>
\primitive
b) \ifcase\the\pdfoutput
fails with
! You can't use `\primitive' after \the.
c) \ifcase\number\pdfoutput
fails with
! Missing number, treated as zero.
<to be read again>
\primitive
d) \count0=\pdfoutput
fails with
! Missing number, treated as zero.
<to be read again>
\primitive
Yours sincerely
Heiko