<div dir="auto">The point about pdftex not being able to solve the halting problem is well taken. I guess the only counterargument is that some easy checks could be made, like compilers that warn the user that if(x=1) probably should be if(x==1). But there are always speed and maintenance costs to having a bunch of checks, and I trust y'all's judgement. <div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">Thanks very much for the thorough answer. </span><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 9, 2019, 11:21 AM Zdenek Wagner <<a href="mailto:zdenek.wagner@gmail.com">zdenek.wagner@gmail.com</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The problem with \newcommand{\bad}{\bad} is that it is a tail<br>
expansion, this means that it does not eat stack, it just loops<br>
forever.  \newcommand{\bad}{\bad x} will probably report stack<br>
overflow. It is documented in The TeXbook.<br>
<br>
Zdeněk Wagner<br>
<a href="http://ttsm.icpf.cas.cz/team/wagner.shtml" rel="noreferrer noreferrer" target="_blank">http://ttsm.icpf.cas.cz/team/wagner.shtml</a><br>
<a href="http://icebearsoft.euweb.cz" rel="noreferrer noreferrer" target="_blank">http://icebearsoft.euweb.cz</a><br>
<br>
st 9. 1. 2019 v 17:09 odesílatel Philip Taylor <<a href="mailto:P.Taylor@rhul.ac.uk" target="_blank" rel="noreferrer">P.Taylor@rhul.ac.uk</a>> napsal:<br>
><br>
> David Carlisle wrote:<br>
> > This plain tex document also loops<br>
> ><br>
> > \let\par\relax x\vfill<br>
><br>
> This one is more fun:<br>
><br>
>         \tracingall \let \par = \relax x \vfill<br>
><br>
> ** Phil.<br>
><br>
</blockquote></div>