Update of bug #55799 (group groff):

                  Status:               Confirmed => In Progress
             Assigned to:                    None => gbranden

    _______________________________________________________

Follow-up Comment #3:

This looks like it does the trick.


$ git stash show -p 0
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index e4fb3717b..7b756e3a5 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -4680,12 +4680,17 @@ 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());
-
+  // It's stored in reverse order already; this puts it forward again.
+  std::stack<node *> reversed_node_list;
+  node *n = nodes;
+  while (n != 0 /* nullptr */) {
+    reversed_node_list.push(n);
+    n = n->next;
+  }
+  while (!reversed_node_list.empty()) {
+    reversed_node_list.top()->ascii_print(ascii);
+    reversed_node_list.pop();
+  }
 }
 
 hyphen_list *composite_node::get_hyphen_list(hyphen_list *tail, int *count)




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?55799>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to