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


Reply via email to