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

Thomas Esser te at dbs.uni-hannover.de
Mon Sep 22 20:39:50 CEST 2003


> I mean that the bug was in TCX settings of is_printable vector, not in
> interpretting of it. Moreower, the bug was that the TCX setting of

The bug is not related to the is_printable vector at all. All output
to terminal and log is not done according to the is_printable vector,
but according to the isprint() function. 

isprint() is a standard library function of the locale subsystem, not
related to TeX's is_printable vector at all.

The is_printable vector is considered for \write to filedescriptors <= 16.
And, yes, if the tcx file has
  <input_code>  <tex_internal_code>
then the tcx code in web2c sets
  is_printable[<tex_internal_code>] := 1;

So, to sum it up:
  1) \writes to filedesc <= 16: printability check done against the
     is_printable vector. This has been ok (only problem: documentation
     is not explicit about this)

  2) \writes to filedesc > 16: have been checked with isprint(), but
     the argument of the check was not the character that would be output.
     This was wrong, and my fix has fixed this.

Thomas


More information about the tex-live mailing list