gbranden pushed a commit to branch master
in repository groff.

commit 74c252500e6b45c60eaef3576abda21656b6971c
Author: G. Branden Robinson <[email protected]>
AuthorDate: Tue May 13 13:21:19 2025 -0500

    src/roff/troff/node.cpp: Fix debug/JSON output.
    
    * src/roff/troff/node.cpp (container_node::dump_node): Give contained
      node list a JSON key name.
    
    Illustration:
    
    Before:
    
    $ printf 'x-ray\n.pline\n' | ~/groff-HEAD/bin/groff -z 2>&1 | jq
    parse error: Objects must consist of key:value pairs at line 3, column 243
    
    After:
    
    $ printf 'x-ray\n.pline\n' | ./build/test-groff -z 2>&1 | jq
    [
      {
        "type": "line_start_node",
        "diversion level": 0,
        "is_special_node": false
      },
      {
        "type": "glyph_node",
        "diversion level": 0,
        "is_special_node": false,
        "character": "x"
      },
      {
        "type": "break_char_node",
        "diversion level": 0,
        "is_special_node": false,
        "break code before": 2,
        "break code after": 0,
        "terminal_color": "default",
        "contains": [
          {
            "type": "glyph_node",
            "diversion level": 0,
            "is_special_node": false,
            "character": "-"
          }
        ]
      },
      {
        "type": "glyph_node",
        "diversion level": 0,
        "is_special_node": false,
        "character": "r"
      },
      {
        "type": "glyph_node",
        "diversion level": 0,
        "is_special_node": false,
        "character": "a"
      },
      {
        "type": "glyph_node",
        "diversion level": 0,
        "is_special_node": false,
        "character": "y"
      },
      {
        "type": "word_space_node",
        "diversion level": 0,
        "is_special_node": false,
        "hunits": 2500,
        "undiscardable": false,
        "is hyphenless breakpoint": false,
        "terminal_color": "default",
        "width_list": [
          {
            "width": 2500,
            "sentence_width": 2500
          }
        ],
        "unformat": false
      }
    ]
---
 ChangeLog               | 5 +++++
 src/roff/troff/node.cpp | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 99bfd70bd..58bd557ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2025-05-13  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/node.cpp (container_node::dump_node): Give
+       contained node list a JSON key name.
+
 2025-05-13  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/node.cpp (troff_output_file::fill_color)
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 576826bec..130af98fe 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -2780,7 +2780,7 @@ void container_node::dump_node()
 {
   fputc('{', stderr);
   dump_properties();
-  fputs(", ", stderr);
+  fputs(", \"contains\": ", stderr);
   dump_node_list(nodes);
   fputc('}', stderr);
   fflush(stderr);

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to