-
-
Notifications
You must be signed in to change notification settings - Fork 101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Global state is modified when things are added to the input queue, not when they're removed #2217
Comments
We'd need an MWE that shows an actual problem. |
The state is used when the page is shipped out, but it's updated when the |
It's not added to the input queue. (There's no such things, there's a nodes queue before shaping and paragraphing occurs, and an output queue, for each typesetter used). |
Sorry, typo. That should have read output queue.
I'm not sure I can come up with a case that will trigger it. A |
A vbox never contains a |
Moving to an issue from this discussion, since I think this affects other people, it's just harder to reproduce (and possibly hidden by other things).
The folio package is the one where I saw this, but it probably isn't the only one.
The commands in this package called with
registerCommand
callbacks modify some global state to track the state of a page. This is not synchronised with a page though. These commands are executed when the typesetter adds things to its output queue, but then consumed when the typesetter removes some things from the output queue. There is no requirement that the typesetter consumes the entire output queue and so this global state can become out of sync.Ideally, there would be a hook that you could use to register a callback on the currently-being-assembled vbox, which would then be called when the vbox is popped from the output queue.
The text was updated successfully, but these errors were encountered: