[tex-live] Critical bugfix needed for XeTeX [was: Re: Fwd: Duplicate Thai patterns reported by XeTeX in TL 2015 pretest]

Jonathan Kew jfkthame at gmail.com
Fri Apr 17 10:56:59 CEST 2015


On 17/4/15 08:58, Peter Breitenlohner wrote:

> Hi Karl, Jonathan, Khaled,
>
> this should really be fixed.  I have added  a test if iscascii is either
> defined as macro or declared as function (or both) and only otherwise
>    #define isascii(c) (((c) & ~0x7f) == 0)
> (stolen from GNU libc).
>
> Unfortunately this implies modifications in binaries for systems where
> isascii is not defined as macro (supposedly Darwin and perhaps others).

Thanks, Peter; that looks like it'll work fine (I haven't tested 
locally, but the xelatex Thai-patterns issue should soon reveal whether 
it's behaving as it should).

One note: as far as I'm aware, the line

   #if !(defined(HAVE_DECL_ISASCII) && HAVE_DECL_ISASCII)

is unnecessarily complex (which hurts readability); it should be 
sufficient to write

   #if !HAVE_DECL_ISASCII

because the preprocessor treats undefined symbols as 0 when evaluating 
#if conditions.

(Or are there ancient, non-standards-compliant systems where this fails?)

JK



More information about the tex-live mailing list