gbranden pushed a commit to branch master in repository groff. commit a38381dc75bfd082592334fd708c33c7ec92f2b7 Author: G. Branden Robinson <g.branden.robin...@gmail.com> AuthorDate: Mon Mar 3 09:05:25 2025 -0600
[troff]: Implement recursive node dumping (5r/9). * src/roff/troff/node.h (class kern_pair_node): Specialize (override) `dump_properties()` for this class. * src/roff/troff/node.cpp (kern_pair_node::dump_properties): New member function reports value of `amount` property. Changes `pline` request output as follows. -{"type": "dbreak_node", "none": {"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"}, "pre": {"type": "kern_pair_node", "diversion level": 0, "is_special_node": false}, "diversion level": 0, "is_special_node": false}, +{"type": "dbreak_node", "none": {"type": "glyph_node", "diversion level": 0, "is_special_node": false, "character": "r"}, "pre": {"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -200}, "diversion level": 0, "is_special_node": false}, -{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false}, +{"type": "kern_pair_node", "diversion level": 0, "is_special_node": false, "amount": -100}, --- ChangeLog | 7 +++++++ src/roff/troff/node.cpp | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index fd9398e2c..b1f9b11e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2025-03-03 G. Branden Robinson <g.branden.robin...@gmail.com> + + * src/roff/troff/node.h (class kern_pair_node): Specialize + {override} `dump_properties()` for this class. + * src/roff/troff/node.cpp (kern_pair_node::dump_properties): New + member function reports value of `amount` property. + 2025-03-03 G. Branden Robinson <g.branden.robin...@gmail.com> * src/roff/troff/node.h (class tag_node): Specialize (override) diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp index 423fb69e0..3abb6b0aa 100644 --- a/src/roff/troff/node.cpp +++ b/src/roff/troff/node.cpp @@ -2014,6 +2014,7 @@ public: bool causes_tprint(); bool is_tag(); void vertical_extent(vunits *, vunits *); + void dump_properties(); }; class dbreak_node : public node { @@ -2298,6 +2299,13 @@ kern_pair_node::kern_pair_node(hunits n, node *first, node *second, { } +void kern_pair_node::dump_properties() +{ + node::dump_properties(); + fprintf(stderr, ", \"amount\": %d", amount.to_units()); + fflush(stderr); +} + dbreak_node::dbreak_node(node *n, node *p, statem *s, int divlevel, node *x) : node(x, s, divlevel), none(n), pre(p), post(0 /* nullptr */) _______________________________________________ groff-commit mailing list groff-commit@gnu.org https://lists.gnu.org/mailman/listinfo/groff-commit