[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2020-10-13 Thread Dave
Update of bug #44018 (project groff): Summary: gtroff hangs in environment::possibly_break_line with -mja => [PATCH] gtroff hangs in environment::possibly_break_line with -mja ___ Reply to this item at:

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2020-10-21 Thread G. Branden Robinson
Update of bug #44018 (project groff): Severity: 3 - Normal => 4 - Important Status:None => Fixed Assigned to:None => gbranden Open/Closed:

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2021-09-24 Thread G. Branden Robinson
Follow-up Comment #2, bug #44018 (project groff): I've been spending some time in libgroff's font.cpp lately and I've ruled out wcwidth() returning zero for character codes (which is a really good thing--that would have broken other assumptions in groff). So wherever the formatter is getting this

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2021-09-24 Thread Ingo Schwarze
Follow-up Comment #3, bug #44018 (project groff): Re comment #2: I sense a possible contradiction in this comment: "returning zero" is not the same as "negative character widths". Regarding the first sentence, for wcwidth(3), a zero return value means the character takes up no horizontal space.

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2021-09-25 Thread G. Branden Robinson
Follow-up Comment #4, bug #44018 (project groff): [comment #3 comment #3:] > Re comment #2: > > I sense a possible contradiction in this comment: "returning zero" is not the same as "negative character widths". Indeed not, and I was not trying to imply that it did. Perhaps it would be more help

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2021-09-25 Thread Ingo Schwarze
Follow-up Comment #5, bug #44018 (project groff): Looking at that code, i conclude that *is* already coded very defensively. What "int width = 24; int w = wcwidth(get_code(g)); if (w > 1) width *= w;" does is this: * If and only if the C library is sure that the character is double width, reserv

[bug #44018] [PATCH] gtroff hangs in environment::possibly_break_line with -mja

2023-03-23 Thread G. Branden Robinson
Follow-up Comment #6, bug #44018 (project groff): commit bcdf2f4c7c28328c711c6a7ac2ea17f2ecd5cdd4 Author: G. Branden Robinson 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