Changes for version 1.34 - 2025-04-23

  • Thanx to Shawn Laffan for reporting a problem with line-endings in files read and written, by both Tree::DAG_Node and t/read.tree.t, when he tests under Strawberry Perl.
  • The 2 test files t/tree.with*.txt ship as ISO-8859-1 while t/tree.utf8.attributes.txt ships as UTF-8. So...
  • Don't explicitly use UTF-8 encoding in DAG_Node.pm's sub read_tree(). Rather, use a regexp to standardize line endings after reading. Likewise, in t/read.tree.t, do the same.
  • I have un-commented the 2 extra tests at the end of t/read.tree.t. Specifically, line 50 was 'for (qw/utf8/)# with without/)'. It now says 'for (qw/utf8 with without/)'
  • Reformat test data files t/tree.*.attributes.txt This was done with the new files share/read.write.tree.(pl, sh). And it was done because some of the test data files had been written by old code with slightly different indenting.
  • Add a new test data file, t/metag.cooked.tree.txt It's a copy of MarpaX::Grammar::Parser's share/metag.cooked.tree. The test program t/read.tree.t was edited to include this new file.
  • Patch tree::DAG_Node.format_node() to output 'Attributes: {}' and not just 'Attributes:' when the user does not want attributes reported. This makes the code match the sample trees shipped in t/.

Modules

An N-ary tree