Follow-up Comment #3, bug #61089 (project groff): There is a vague possibility that this is the change that uncovered the latent bug--this is the only change to adjustment code that I can recall since I've been involved with groff.
There are reasons to believe it isn't the culprit though: (1) while the change is to a function that calls `distribute_space()`, the change is _after_ that call, not before it and (2) the nature of my change is to issue a diagnostic and bewail the fact that we _can't_ make an assertion, rather than hazardously larding `distribute_space()` with invalid preconditions. I'll try to repro the problem and bisect. commit bcdf2f4c7c28328c711c6a7ac2ea17f2ecd5cdd4 Author: G. Branden Robinson <[email protected]> Date: Wed Oct 21 00:29:24 2020 +1100 src/roff/troff/env.cpp: Avoid infinite loop. * src/roff/troff/env.cpp (environment::possibly_break_line): Emit break warning and return if the output width is not positive. The code assumes that it will be and loops infinitely if it isn't. I _think_ this is because we're not able to get width data for (some?) CJK glyphs. Based on a patch by Osamu Sayama. Fixes <https://savannah.gnu.org/bugs/index.php?44018>. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?61089> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
