Maybe it has been already fixed, but I can't install 1.10
right now, so first a little favour. What do you get with
the following document (plain luatex):
--------------------------------
\directlua{
function test (head, g)
texio.write_nl('==== ' .. g)
texio.write_nl('')
for item in node.traverse(head) do
if item.id == node.id'glyph' then
texio.write('{' .. item.char .. '}')
elseif item.id == node.id'dir' then
texio.write('<' .. item.dir .. '>')
elseif item.id == node.id'glue' then
texio.write(' ')
else
texio.write('[' .. item.id .. ':' .. (item.subtype or '?') .. ']')
end
end
return head
end
% callback.register("pre_linebreak_filter", test)
callback.register("hpack_filter", test)
}
ABC \hbox{abc \textdir TRT fgh} DEF
\textdir TLT
ABC \hbox{abc \textdir TRT fgh} DEF
\bye
-----------------------------------
With 1.07 the log shows:
==== hbox
{97}{98}[13:0]{99} <+TRT>{102}{103}{104}
==== hbox
{97}{98}[13:0]{99} <-TLT><+TRT>{102}{103}{104}
Note the extra node with a closing dir after setting
explicitly the global \textdir to TLT (which is the
default dir). The stuff after this node is discarded.
Does 1.10 give the same result?
Javier