[luatex] string.char

Taco Hoekwater taco at elvenkind.com
Tue Apr 12 11:05:21 CEST 2011


On 04/12/2011 11:05 AM, Heiko Oberdiek wrote:
> On Tue, Apr 05, 2011 at 11:31:50AM +0200, Paul Isambert wrote:
>
>> Le 05/04/2011 10:49, Taco Hoekwater a écrit :
>>> On 04/04/2011 10:01 PM, Paul Isambert wrote:
>>>>> \directlua{tex.settoks(0, "A\string\000B")}
>>>>> has the wrong result "A^^@^^X", thus I conclude that
>>>>> tex.settoks might be the problem.
>>>>
>>>> So it seems you've found yourself a nice bug to report :)
>>>> I say so because I don't think Taco is reading the list much these
>>>> times, so a tracker item would be safer.
>>>
>>> I actually do read the list, but usually have no time to reply these
>>> days.
>>>
>>> In this case, the problem is indeed the settoks as that used
>>> strdup() to get the needed memory (and therefore stops at the
>>> first \000). There was a simple fix, so I have applied something
>>> immediately. If you can, please try rev. 4096.
>>
>> It works very well: tested with tex.settoks(0, string.char(65, 0,
>> 66) and tex.settoks(0, "A\string\000B"), both return "A^^@B".
>
> Thanks Taco and Paul for fixing and testing.

> In package pdftexcmds that emulates \pdfescape... for LuaTeX
> I have now added a workaround for the problematic versions
> (0.41?, ..., 0.65).
>    The endpoint would be revision 4096, but status.luatex_svn
> does not work always as expected:
>
> \catcode`\{=1
> \catcode`\}=2
> \catcode`\#=6
> \def\test#1{%
>    \immediate\write16{%
>      [#1: \directlua{tex.write(status.luatex_#1)}]%
>    }%
> }
> \test{svn}
> \test{version}
> \test{revision}
> \csname @@end\endcsname\end
>
> Result for TL2010:
>    [svn: 3736]
>    [version: 60]
>    [revision: 2]
>
> Result for luatex 0.65.0 from ConTeXt minimals:
>    [svn: -1]
>    [version: 65]
>    [revision: 0]

That is a build problem in the minimals that I have to talk to Mojca 
about. luatex 0.66.0 is the first version that officially fixes the 
problem (to be released after lunch).

Best wishes,
Taco


More information about the luatex mailing list