This is more an "academical" question:
Is there a token which neither can be redefined to be \outer
nor can be affected by \uppercase
/\lowercase
no matter what \lccode
s/\uccode
s are current?
Assuming that functionality of the \outer
-primitive is available/does not get disabled.
\let\outer\relax
should solve the problem ;-)\outer
in my code. ;-) One token not to be refedinable in terms of\outer
and not affectable by\uppercase
/\lowercase
would be nice, e.g., with macros that insert sentinel-tokens for list-processing. The sentinel-token should not be transformable to s.th. else. The sentinel should not be redefinable in terms of\outer
as that would break its usage with (internal) macros where it is inserted automatically as a compoonent of arguments. It is rather an academical/moot question.\(upp|low)ercase
change all character tokens (regardless of catcode, and assuming they have a proper\(u|l)ccode
), so you are looking for a non-character token, which are control sequence (or symbol) tokens, which are all redefinable. (Discarding internal frozen TeX tokens, like\endwrite
, that cannot be redefined, but can't be used in your code either).\outer
tokens can't appear in the argument to anything (including\(upp|low)ercase
), so the answer to your question is “any already\outer
token”. This raises an error\outer\def\x{y} \lowercase{\outer\def\x{z}} \show\x
, but still redefines\x
...\let
to\relax
, so they aren't technically\outer
anymore.