[tex-live] A bug in TeX Live's TeX engines (all of them): Literal trailing tabs are typeset

Evan Aad oddeveneven at gmail.com
Wed Aug 30 22:06:22 CEST 2017


Consider the following Plain TeX manuscript

---
\catcode9=12\relax% ASCII 9 is tab
.\ \ .\par%
.
.%
\bye
---

It's impossible to tell, but there's a tab just after the dot on the
third manuscript line.

This manuscript typesets thus:

---
.  .
. .
---

Observe that there seem to be two spaces between the dots on the first
line, but only one space between the dots on the second line.

The reason seems to be that the TeX Live engines discard trailing
tabs. However, this goes contrary to both the TeXbook and the source
code, which make it clear that only trailing spaces should be
discarded.

This is what the TeXbook has to say about in the matter (p. 46):

---
TeX deletes any <space> characters (number 32) that occur at the right
end of an input line.
---

And this is what the TeX source code (texdoc tex) has to say about it
(section 31, p. 16):

---
Trailing blanks are removed from the line; thus, either last=first (in
which case the line was entirely blank) or buffer[last − 1]≠"␣".
---

Respectfully yours,
Evan Aad



More information about the tex-live mailing list