gbranden pushed a commit to branch master
in repository groff.

commit 3d249f79fd662e0e033ee1dc564f242b1a753e3c
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
AuthorDate: Mon Mar 17 01:19:54 2025 -0500

    [troff]: Fix Savannah #55799 (`-a` opt + `char`).
    
    * src/roff/troff/node.cpp (composite_node::ascii_print): When rendering
      a composite node for approximate output, traverse into it and write
      its nodes' representations in forward order.
    
    Fixes <https://savannah.gnu.org/bugs/?55799>.  Thanks to Dave Kemper for
    the report.  Problem appears to date back to groff's birth.
---
 ChangeLog               | 10 ++++++++++
 src/roff/troff/node.cpp |  7 +------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c66ec11c1..127f6c0fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2025-03-17  G. Branden Robinson <g.branden.robin...@gmail.com>
+
+       * src/roff/troff/node.cpp (composite_node::ascii_print): When
+       rendering a composite node for approximate output, traverse into
+       it and write its nodes' representations in forward order.
+
+       Fixes <https://savannah.gnu.org/bugs/?55799>.  Thanks to Dave
+       Kemper for the report.  Problem appears to date back to groff's
+       birth.
+
 2025-03-17  G. Branden Robinson <g.branden.robin...@gmail.com>
 
        [groff]: Regression-test Savannah #55799.
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index e4fb3717b..4bc0bf751 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -4680,12 +4680,7 @@ void composite_node::asciify(macro *m)
 
 void composite_node::ascii_print(ascii_output_file *ascii)
 {
-  unsigned char c = ci->get_ascii_code();
-  if (c != 0)
-    ascii->outc(c);
-  else
-    ascii->outs(ci->nm.contents());
-
+  ascii_print_reverse_node_list(ascii, nodes);
 }
 
 hyphen_list *composite_node::get_hyphen_list(hyphen_list *tail, int *count)

_______________________________________________
groff-commit mailing list
groff-commit@gnu.org
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to