Re: [XeTeX] ifcat changed?

2017-04-28 Thread Apostolos Syropoulos
Hello, I have studied a bit the source code of XeTeX and luaTeX. XeTex definesa procedure that is used to insert primitive commands into a hash table.The procedure;s declaration is as follows: procedure primitive(@!s:str_number;@!c:quarterword;@!o:halfword); This is not exactly Pascal but I

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Apostolos Syropoulos
>As far as I can tell from the sources, the bug likely was there from the >start, and only affects \span, \cr and \crcr.  Basically, their >character code is too small.  This can be fixed by changing >"special_char" from 65537 to 1114112 or so, to make the values of >"span_code", "cr_code",

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Bruno Le Floch
Filed https://sourceforge.net/p/xetex/bugs/138/ with a text essentially identical to my message below explaining the bug's origin and how to fix it. On 04/16/2017 06:50 AM, Julian Bradfield wrote: > On 2017-04-16, Zdenek Wagner wrote: >> 2017-04-16 10:08 GMT+02:00 Julian

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Julian Bradfield
On 2017-04-16, Zdenek Wagner wrote: > 2017-04-16 10:08 GMT+02:00 Julian Bradfield : >> Definitely a bug. The TeXbook defines the behaviour of \if and \ifcat, >> and all control sequences are considered to have character code 256 >> and

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Philip Taylor
Zdenek Wagner wrote: > Not all control sequences but primitives. Again, I would respectfully suggest that Knuth's own words are the best guidance here : > *\**if * > > TeX will expand macros following *\if* until two unexpandable tokens are > found. If either token is a control sequence,

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Zdenek Wagner
2017-04-16 10:08 GMT+02:00 Julian Bradfield : > On 2017-04-15, Bruno Le Floch wrote: > > The primitive conditional "\ifcat\relax\cr true\else false\fi" gives > > "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago > > (could be

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Apostolos Syropoulos
>Definitely a bug. The TeXbook defines the behaviour of \if and \ifcat, >and all control sequences are considered to have character code 256 >and category code 16, unless \let equal to a non-active character, in >which case they have the value of that character. After comparing the relevant code

Re: [XeTeX] ifcat changed?

2017-04-16 Thread Julian Bradfield
On 2017-04-15, Bruno Le Floch wrote: > The primitive conditional "\ifcat\relax\cr true\else false\fi" gives > "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago > (could be years), but "false" in XeTeX 0.6 Definitely a bug. The TeXbook defines the

Re: [XeTeX] ifcat changed?

2017-04-15 Thread Ulrike Fischer
Am Sat, 15 Apr 2017 07:26:38 -0400 schrieb Bruno Le Floch: > The primitive conditional "\ifcat\relax\cr true\else false\fi" gives > "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago > (could be years), Looks like *many* years. I get the wrong output with texlive 2012. > It

Re: [XeTeX] ifcat changed?

2017-04-15 Thread Jonathan Kew
This sounds like a bug. Offhand, I don't know what changed to cause this, but it probably shouldn't have! Filing an issue at https://sourceforge.net/projects/xetex/ would be useful, to help us keep track. JK On 15/04/2017 12:26, Bruno Le Floch wrote: Dear all, The primitive conditional

[XeTeX] ifcat changed?

2017-04-15 Thread Bruno Le Floch
Dear all, The primitive conditional "\ifcat\relax\cr true\else false\fi" gives "true" in pdfTeX, LuaTeX, (e)(u)pTeX, and XeTeX from some time ago (could be years), but "false" in XeTeX 0.6 It would be useful for me to know which of \ifcat, \relax, and \cr changed, to determine whether I