[Dev-luatex] Benchmark.

David Kastrup dak at gnu.org
Tue Apr 3 13:43:58 CEST 2007


Taco Hoekwater <taco at elvenkind.com> writes:

> David Kastrup wrote:
>>
>> Well, looking through, I noticed something of sub-Knuthian quality:
>>
>> @d push_dir(#)==
>> begin dir_tmp:=new_dir(#);
>> link(dir_tmp):=dir_ptr; dir_ptr:=dir_tmp;
>> dir_ptr:=dir_tmp;
>> end
>>
>> Note the duplication of the last assignment.  Not tragic, but ugly.
>
> That could be related to the deallocation error. The node free-ing
> code tests whether dir_ptr is equal to null, but in fact there are
> often two dir_ptr-s: a global one and a local one.

With a program as simple and readable as TeX, such shortcuts make a
lot of sense and add a new dimension of fun to debugging.

A good thing none of the Omega developers will be at EuroTeX this
year, I'd have a mind to tell them...

Incidentally, I noticed that quite a few variables were renamed in
LuaTeX as compared to the upstream tex.web (underscores added or
removed).  Again, I don't know whether eTeX, Aleph, Omega, PDFTeX or
whoever else are to blame, but it increases the size of diffs, and
if done globally, carries the potential to introduce problems like
global/local variable shadowing.

> I will get back to this later, after the more serious issues are
> solved. It'll take me a loong time to find out why the code does
> what it does, let alone where and why it does it wrongly.

Who are you telling.  What a mess.

-- 
David Kastrup


More information about the dev-luatex mailing list