Am 01.04.16 um 18:26 schrieb Frank Mittelbach:
From the manual I understand that the groupcode argument in the pre_linebreak_filter callback gives me the context where this paragraph breaking happens (eg <empty> means main vertical list, vbox means ...)Unfortunately that doesn't seem to be true: \directlua{ require "ltluatex.lua" function prelinebreak (head, groupcode) print() print(" groupcode in pre_linelinebreak_filter = " .. groupcode .. " on line " .. tex.inputlineno) return true end luatexbase.add_to_callback("pre_linebreak_filter", prelinebreak, "new linebreak callback") } \input tufte \vbox{\input tufte } \vbox{\input tufte \par} % should report in vmode but reports main vlist \vbox{\begingroup \input tufte \endgroup} \vbox{\begingroup \input tufte \par\endgroup} % should report in vmode but reports main vlist looks like the groupcode reported depends on whether it is an explicit par or the implicit one from the box but not the actual context \bye is this a bug or do I miss something? The above means I can't really determine if a paragraph is in fact on the main vertical list or hidden inside some box so that it is unbreakable even if it eventually ends up (as a box) on the main vertical list.
as a workaround, I guess I can additionally look at the semantic nest pointer and if that is == 1 then I really at at paragraph on the main vertical list and if > 1 then not. Is this the right workaround?
frank
