[tex-live] locale dependent writing to log/terminal is *broken*

Thomas Esser te at dbs.uni-hannover.de
Sat Sep 20 17:00:39 CEST 2003


> I'm sorry, but I'm confused by your example.  If one uses a tcx file
> that maps 0xa1 to 0x81, then why shouldn't TeX output ^^81?  Isn't that
> exactly what it was told to do?

If TeX would not consider all the locale stuff, it would finally call
putc (Xchr (c)).  Olaf's intention was to make this depend on the locale,
so that only those characters come to the terminal, that are printable.

Obviously, the character to check is Xchr (c) and not c itself. That's all that
I want to say. Simplifying the code, one could write the buggy stuff as

  if isprint(c)
    printf (Xchr (c))
  else
    "print c with ^^ notation"

> Or are you saying that 0x81 should be "printable"?  I don't see how the
> printability of 0xa1 enters into it.

No, I want to say that 0xa1 should be checked for printability, not
0x81. It does not make sense to check "code a" for printability when
the character to pass to putc is some other character.

> Was this bug in previous versions, or did we introduce it?

TeX Live 7 is ok. The bug was introduced after TL7, but not from the
recent change which just made cp8bit the default tcx file.

> Aside from Yet Another round of rebuilds (difficult to complete by 9/22,
> I would hazard to guess), what worries me is that we will find some
> other interaction with the TeX "printable" system and that we've made
> things worse ...

I think that this bug makes error messages for e.g. our polish friends
unusable. The code still depends on locales, but in a broken way. Fixing
this bug is the lest that we should do.

Thomas


More information about the tex-live mailing list