Follow-up Comment #4, bug #60673 (project groff):
Heads up.
It looks like my planned changes to address #60189 are going to affect this.
You may want to play around with this.
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index 4af8741e1..5e7017b8f 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -2053,6 +2053,10 @@ static node *node_list_reverse(node *n)
static void distribute_space(node *n, int nspaces, hunits desired_space,
int force_reverse = 0)
{
+ if (desired_space.is_zero() || nspaces == 0) {
+ debug("distribute_space(): no work to do");
+ return;
+ }
static int reverse = 0;
if (force_reverse || reverse)
n = node_list_reverse(n);
@@ -2070,7 +2074,6 @@ static void distribute_space(node *n, int nspaces,
hunits desired_space,
(void)node_list_reverse(n);
if (!force_reverse)
reverse = !reverse;
- assert(desired_space.is_zero() && nspaces == 0);
}
void environment::possibly_break_line(int start_here, int forced)
(The debug() diagnostic will not survive into the push. It shows up a LOT in
our in-tree document corpus.)
I haven't thought deeply enough to be sure, but the above change might
actually resolve this bug. What do you think?
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60673>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/