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