Re: [NTG-context] bizarre bug in xml
On 11/21/20 11:04 AM, Wolfgang Schuster wrote: To check whether a stretch or shrink value is set LMTX takes a look at the next character (p, P, m or M) before it makes a decision, when you have now a word after \hskip which start with one of these characters (e.g. Materiam) you trigger the scanner which fails because it didn't find a keyword. To avoid such problems always add \relax after the last value of \hskip, this is even explained in one of the exercises in the TeXbook. Thank you Wolfgang, now it all makes sense. I will relax more and dust off my copy of the TeXbook. I used to read small chapters in the tramway on my way to the university, but with the lockdown, I didn't have this opportunity. Nah, just kidding, I haven't looked at it in a long time. Thomas ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] bizarre bug in xml
Thomas A. Schmitz schrieb am 20.11.2020 um 22:57: On 11/20/20 10:52 PM, Wolfgang Schuster wrote: Optional arguments (e.g. plus/minus values for \hskip) for commands are handled different in LMTX but it was always recommended to add \relax after the last value. Thank you Wolfgang, that makes the file indeed compile again! Any explanation for the strange behavior of the error? In LMTX the order of the plus and minus values of \hskip can be written in any order and it's even possible to set them multiple times (try the example below with LuaTeX and LMTX). To check whether a stretch or shrink value is set LMTX takes a look at the next character (p, P, m or M) before it makes a decision, when you have now a word after \hskip which start with one of these characters (e.g. Materiam) you trigger the scanner which fails because it didn't find a keyword. To avoid such problems always add \relax after the last value of \hskip, this is even explained in one of the exercises in the TeXbook. \starttext a\hskip 1cm plus 5mm minus 5mm b a\hskip 1cm minus 5mm plus 5mm b a\hskip 1cm pLuS 5mm MiNuS 5mm b a\hskip 1cm plus 5mm minus 5mm plus 1cm b \stoptext Wolfgang ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] bizarre bug in xml
On 11/21/2020 2:09 AM, Pablo Rodriguez wrote: On 11/20/20 10:52 PM, Wolfgang Schuster wrote: [...] Optional arguments (e.g. plus/minus values for \hskip) for commands are handled different in LMTX but it was always recommended to add \relax after the last value. Hi Wolfgang, the same would apply to \vskip, wouldn’t it? also for \hrule and \vrule (and in pdftex/luatex some backend related primitives); primitives like \hbox have their keyword scan terminated by a leftbrace token Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] bizarre bug in xml
On 11/20/20 10:52 PM, Wolfgang Schuster wrote: > [...] > Optional arguments (e.g. plus/minus values for \hskip) for commands are > handled different in LMTX but it was always recommended to add \relax > after the last value. Hi Wolfgang, the same would apply to \vskip, wouldn’t it? Many thanks for your help, Pablo -- http://www.ousia.tk ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
Re: [NTG-context] bizarre bug in xml
Thomas A. Schmitz schrieb am 20.11.2020 um 22:44: Hi all, this is the most bizarre bug I've ever seen in context. I would be grateful if others could try to replicate it. Test file: \startbuffer[test] Materiam vati da Venus alma tuo. \stopbuffer \startxmlsetups xml:testsetups \xmlsetsetup{#1}{*}{-} \xmlsetsetup{#1}{document| hskip}{xml:*} \stopxmlsetups \xmlregistersetup{xml:testsetups} \startxmlsetups xml:document \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:hskip \hskip\xmlatt{#1}{width} \hskip\xmlatt{#1}{width}\relax The file compiles cleanly if I give the --luatex switch. Now for the bizarre part: if you delete the capital M of "Materiam" or replace it by any other capital letter, the file compiles. What's going on here? Optional arguments (e.g. plus/minus values for \hskip) for commands are handled different in LMTX but it was always recommended to add \relax after the last value. Wolfgang ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___
[NTG-context] bizarre bug in xml
Hi all, this is the most bizarre bug I've ever seen in context. I would be grateful if others could try to replicate it. Test file: \startbuffer[test] Materiam vati da Venus alma tuo. \stopbuffer \startxmlsetups xml:testsetups \xmlsetsetup{#1}{*}{-} \xmlsetsetup{#1}{document| hskip}{xml:*} \stopxmlsetups \xmlregistersetup{xml:testsetups} \startxmlsetups xml:document \xmlflush{#1} \stopxmlsetups \startxmlsetups xml:hskip \hskip\xmlatt{#1}{width} \stopxmlsetups \starttext \xmlprocessbuffer{main}{test}{} \stoptext This gives an error with the latest lmtx (2020.11.19 11:28, linux 64 bit): tex error > tex error on line 10 in file ./xmltest.tex: Valid keyword expected, likely 'minus' Ma teriam vati da Venus alma tuo. \22>:xml:document #1->\xmlflush {#1} } \22>:xml:process #1->\xmlregistereddocumentsetups {#1}{#1}\xmlmain {#1} \lxml_process ...ocument {#3}#2{#3}{#4}\setcatcodetable \notcatcodes \doifelsenothing {#5}{\xmlsetup {#3}{xml:process}}{\xmlsetup {#3}{#5}} \endgroup \xmlprocessbuffer{main}{test}{} The file compiles cleanly if I give the --luatex switch. Now for the bizarre part: if you delete the capital M of "Materiam" or replace it by any other capital letter, the file compiles. What's going on here? Thanks, and all best Thomas ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___