gbranden pushed a commit to branch master
in repository groff.
commit c1e91d2f17c1f2a03ec94c33c7b240c21f8c802f
Author: G. Branden Robinson <[email protected]>
AuthorDate: Mon Mar 3 03:01:59 2025 -0600
[troff]: Implement recursive node dumping (5j/9).
* src/roff/troff/node.h (class left_italic_corrected_node): Specialize
(override) `dump_properties()` for this class.
* src/roff/troff/node.cpp (left_italic_corrected_node::dump_properties):
New member function reports value of `hunits` property.
Changes `pline` request output as follows.
-{"type": "left_italic_corrected_node", "diversion level": 0,
"is_special_node": false},
+{"type": "left_italic_corrected_node", "diversion level": 0,
"is_special_node": false, "hunits": 1970},
---
ChangeLog | 8 ++++++++
src/roff/troff/node.cpp | 7 +++++++
src/roff/troff/node.h | 2 ++
3 files changed, 17 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 5e4f16eef..784a72f3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2025-03-03 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/node.h (class left_italic_corrected_node):
+ Specialize (override) `dump_properties()` for this class.
+ * src/roff/troff/node.cpp
+ (left_italic_corrected_node::dump_properties): New member
+ function reports value of `hunits` property.
+
2025-03-03 G. Branden Robinson <[email protected]>
* src/roff/troff/node.h (class vline_node): Specialize
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 48c3fe483..33aea95ab 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -5662,6 +5662,13 @@
left_italic_corrected_node::left_italic_corrected_node(statem *s,
{
}
+void left_italic_corrected_node::dump_properties()
+{
+ node::dump_properties();
+ fprintf(stderr, ", \"hunits\": %d", x.to_units());
+ fflush(stderr);
+}
+
left_italic_corrected_node::~left_italic_corrected_node()
{
delete nodes;
diff --git a/src/roff/troff/node.h b/src/roff/troff/node.h
index 867616be2..4714be33d 100644
--- a/src/roff/troff/node.h
+++ b/src/roff/troff/node.h
@@ -494,6 +494,7 @@ public:
void vertical_extent(vunits *, vunits *);
};
+// TODO: Derive from abstract class `container_node`.
class left_italic_corrected_node : public node {
node *nodes;
hunits x;
@@ -525,6 +526,7 @@ public:
hyphen_list *get_hyphen_list(hyphen_list *, int *);
node *add_self(node *, hyphen_list **);
node *merge_glyph_node(glyph_node *);
+ void dump_properties();
};
class overstrike_node : public node {
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit