gbranden pushed a commit to branch master
in repository groff.

commit 5964a1b34a5e02b68e3fd918b878fa629a5d2347
Author: G. Branden Robinson <g.branden.robin...@gmail.com>
AuthorDate: Tue Mar 4 06:55:27 2025 -0600

    [troff]: Implement recursive node dumping (5s/9).
    
    * src/roff/troff/node.h (class italic_corrected_node): Specialize
      (override) `dump_properties()` for this class.
    
    * src/roff/troff/node.cpp (italic_corrected_node::dump_properties): New
      member function reports value of `hunits` property.
    
    Changes `pline` request output as follows.
    
    -{"type": "italic_corrected_node", "diversion level": 0, "is_special_node": 
false},
    +{"type": "italic_corrected_node", "diversion level": 0, "is_special_node": 
false, "hunits": 1960},
---
 ChangeLog               | 8 ++++++++
 src/roff/troff/node.cpp | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index b1f9b11e4..0ecf8c8fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2025-03-04  G. Branden Robinson <g.branden.robin...@gmail.com>
+
+       * src/roff/troff/node.h (class italic_corrected_node):
+       Specialize (override) `dump_properties()` for this class.
+       * src/roff/troff/node.cpp
+       (italic_corrected_node::dump_properties): New member function
+       reports value of `hunits` property.
+
 2025-03-03  G. Branden Robinson <g.branden.robin...@gmail.com>
 
        * src/roff/troff/node.h (class kern_pair_node): Specialize
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 3abb6b0aa..41e4ebd1a 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -2724,6 +2724,7 @@ public:
   const char *type();
   bool causes_tprint();
   bool is_tag();
+  void dump_properties();
 };
 
 node *node::add_italic_correction(hunits *wd)
@@ -2746,6 +2747,13 @@ italic_corrected_node::italic_corrected_node(node *nn, 
hunits xx, statem *s,
   assert(nodes != 0 /* nullptr */);
 }
 
+void italic_corrected_node::dump_properties()
+{
+  node::dump_properties();
+  fprintf(stderr, ", \"hunits\": %d", x.to_units());
+  fflush(stderr);
+}
+
 italic_corrected_node::~italic_corrected_node()
 {
   delete nodes;

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

Reply via email to