<div dir="ltr">You probably know this, but eTeX has a \tracingassigns=1 that would have helped debug here: for \def\csname\endcsname{FOOBAR} it prints<div><br></div><div>{changing \csname=\csname}</div><div>{into \csname=macro:\endcsname ->FOOBAR}<br></div><div><br></div><div>and for \expandafter\def\csname\endcsname{FOOBAR} it prints</div><div><br></div><div>{changing \csname\endcsname=undefined}</div><div>{into \csname\endcsname=\relax}</div><div>{changing \csname\endcsname=\relax}</div><div>{into \csname\endcsname=macro:->FOOBAR}<br></div><div><br></div><div>so you can see which macros are being set to what definitions. Something like this (maybe with some <a href="https://tug.org/TUGboat/tb35-2/tb110mckenna.pdf">changes</a> to the output format) is useful to have.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 6 Mar 2020 at 15:51, Doug McKenna <<a href="mailto:doug@mathemaesthetics.com" target="_blank">doug@mathemaesthetics.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Karl -<br>
<br>
Yes, I think that answers the question (i.e., it's my misunderstanding).<br>
<br>
So it's treating |\endcsname| as a delimiting matching token for the macro's (non) argument collection.<br>
<br>
Ah, TeX. It's amazing how one can write TeX code that seems to make complete sense, yet have it mean something entirely different.<br>
<br>
<br>
Thanks!<br>
<br>
- Doug McK.<br>
<br>
----- Original Message -----<br>
From: "Karl Berry" <<a href="mailto:karl@freefriends.org" target="_blank">karl@freefriends.org</a>><br>
To: "doug" <<a href="mailto:doug@mathemaesthetics.com" target="_blank">doug@mathemaesthetics.com</a>><br>
Cc: "tex-k" <<a href="mailto:tex-k@tug.org" target="_blank">tex-k@tug.org</a>><br>
Sent: Friday, March 6, 2020 4:18:42 PM<br>
Subject: Re: [tex-k] Is this a bug or just an inconsistency?<br>
<br>
\def\csname\endcsname{FOOBAR}<br>
<br>
Do you mean<br>
\expandafter\def\csname\endcsname{FOOBAR}<br>
? I think the above is redefining \csname, not the null CS.<br>
</blockquote></div>