2018-07-15 Rocky Bernstein * admin/how-to-make-a-release.md, lib/B/DeparseTree.pm: Get ready for release 3.4.0 2018-07-15 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: For loop hacking.... - fix up prev for zz in in: "for (xx; yy; zz) { " - show loop in DEBUG_DEPARSETREE - set prev correctly for loops 2018-07-11 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/P528.pm, lib/B/DeparseTree/PPfns.pm, t/roundtrip/5.028/base/cond.t, t/roundtrip/5.028/base/if.t, t/roundtrip/5.028/base/pat.t, t/roundtrip/5.028/base/translate.t, t/roundtrip/5.028/base/while.t, t/roundtrip/5.028/mro/basic_04_dfs.t: Bang on 5.028 support... Add maybe_var_attr, add more 5.028 tests 2018-07-11 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, t/roundtrip/5.018/cmd/elsif.t, t/roundtrip/5.020/cmd/elsif.t, t/roundtrip/5.020/cmd/for.t, t/roundtrip/5.022/cmd/elsif.t, t/roundtrip/5.022/cmd/for.t, t/roundtrip/5.024/cmd/elsif.t, t/roundtrip/5.024/cmd/for.t, t/roundtrip/5.026/cmd/for.t: Fix a bug in handling %; templating... add "for" tests in many versions 2018-07-10 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PPfns.pm, t/roundtrip/5.026/cmd/for.t: Fix some of the for loop and const list bugs... but others remain 2018-07-10 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/P528.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, t/roundtrip/5.026/cmd/elsif.t: Minor improvements and bugfixes - DRY and improve list_const(). Fix up loop_common(). - Start adding cmd tests: elsif.t - More uses of info_from_string() and info_from_template() 2018-07-03 Rocky Bernstein * lib/B/DeparseTree.pod: Update links 2018-07-03 Rocky Bernstein * NEWS, README.md, admin/how-to-make-a-release.md, lib/B/DeparseTree.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm: Get ready for release 3.3.0 2018-07-01 Rocky Bernstein * t/roundtrip/5.016/base/cond.t, t/roundtrip/5.016/base/if.t, t/roundtrip/5.016/base/translate.t, t/roundtrip/5.016/base/while.t: Add 5.016 roundtrip test files 2018-06-30 Rocky Bernstein * MANIFEST, t/roundtrip/{ => 5.014}/base/cond.t, t/roundtrip/{ => 5.014}/base/if.t, t/roundtrip/{ => 5.014}/base/lex-short1.t, t/roundtrip/{ => 5.014}/base/lex-short2.t, t/roundtrip/{ => 5.014}/base/num.t, t/roundtrip/{ => 5.014}/base/pat.t, t/roundtrip/5.014/base/rs.t, t/roundtrip/{ => 5.014}/base/term.t, t/roundtrip/{ => 5.014}/base/translate.t, t/roundtrip/{ => 5.014}/base/while.t, t/roundtrip/{ => 5.014}/mro/basic_04_dfs.t, t/roundtrip/5.018/mro/basic_04_dfs.t, t/roundtrip/5.020/base/cond.t, t/roundtrip/5.020/base/if.t, t/roundtrip/5.020/base/lex-short1.t, t/roundtrip/5.020/base/lex-short2.t, t/roundtrip/5.020/base/num.t, t/roundtrip/5.020/base/pat.t, t/roundtrip/{ => 5.020}/base/rs.t, t/roundtrip/5.020/base/term.t, t/roundtrip/5.020/base/translate.t, t/roundtrip/5.020/base/while.t, t/roundtrip/5.020/mro/basic_04_dfs.t, t/roundtrip/5.022/mro/basic_04_dfs.t, t/roundtrip/5.024/base/cond.t, t/roundtrip/5.024/base/if.t, t/roundtrip/5.024/base/lex-short1.t, t/roundtrip/5.024/base/lex-short2.t, t/roundtrip/5.024/base/num.t, t/roundtrip/5.024/base/pat.t, t/roundtrip/5.024/base/rs.t, t/roundtrip/5.024/base/term.t, t/roundtrip/5.024/base/translate.t, t/roundtrip/5.024/base/while.t, t/roundtrip/5.024/mro/basic_04_dfs.t, t/roundtrip/5.026/base/cond.t, t/roundtrip/5.026/base/if.t, t/roundtrip/5.026/base/lex-short1.t, t/roundtrip/5.026/base/lex-short2.t, t/roundtrip/5.026/base/num.t, t/roundtrip/5.026/base/pat.t, t/roundtrip/5.026/base/rs.t, t/roundtrip/5.026/base/term.t, t/roundtrip/5.026/base/translate.t, t/roundtrip/5.026/base/while.t, t/roundtrip/5.026/mro/basic_04_dfs.t, t/roundtrip/base/lex.t-notyet, t/roundtrip/runtests.pl: Break out tests for specific perl versions 2018-06-29 Rocky Bernstein * Build.PL: Put back in passthrough for now 2018-06-29 Rocky Bernstein * Build.PL, t/roundtrip/base/lex-short1.t: Forgot to add new test 2018-06-29 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PPfns.pm: Fix bug in dq 2018-06-29 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/TreeMain.pm: Fix bug introduced in last commit 2018-06-29 Rocky Bernstein * lib/B/DeparseTree/P514.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Misc version-specific compatability bugs 2018-06-29 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm, t/roundtrip/base/lex-short2.t: Adapt print_protos to extract_protos 2018-06-28 Rocky Bernstein * t/roundtrip/base/lex.t-notyet: Start contemplating more tests 2018-06-28 Rocky Bernstein * MANIFEST: Administrivia 2018-06-28 Rocky Bernstein * : commit 4111165c274a726cd1d1d2cf8f5253c0531d1c5e Author: Rocky Bernstein Date: Thu Jun 28 14:53:07 2018 -0400 2018-06-28 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: set rv2x other_ops more often 2018-06-28 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Bug if rv2x 2018-06-28 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm, lib/B/DeparseTree/TreeNode.pm: Bang on parent pointers of blocks 2018-06-27 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PPfns.pm: Bang on scope ops. Better Fragment error handling 2018-06-27 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/TreeMain.pm: Was smashing prev_expr 2018-06-27 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Populate prev_expr in indirops 2018-06-26 Rocky Bernstein * circle.yml: Remove CircleCI 1.0 2018-06-25 Rocky Bernstein * MANIFEST.SKIP: Another CircleCI attempt 2018-06-25 Rocky Bernstein * .circleci/config.yml: Try CircleCI 2.0 2018-06-25 Rocky Bernstein * : commit 24c2852db69170f786bd8440ac5e36a7debb8aaf Author: Rocky Bernstein Date: Mon Jun 25 05:49:53 2018 -0400 2018-06-22 Rocky Bernstein * MANIFEST, t/05-listops.t, t/testdata/core-ops.pm, t/testdata/listops.pm: listops testing is its own test now 2018-06-21 Rocky Bernstein * Build.PL, MANIFEST, lib/B/DeparseTree/P514.pm, lib/B/DeparseTree/P516.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Some tolerance for Perl 5.14 2018-06-21 Rocky Bernstein * MANIFEST: Update MANIFEST 2018-06-21 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, t/04-mapops.t, t/helper.pm, t/testdata/core-ops.pm, t/testdata/mapops.pm: Fix mapops and split out its tests 2018-06-21 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, t/testdata/indirops.pm: Fix another indirop bug 2018-06-21 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Tidy one indirop branch 2018-06-21 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PPfns.pm, t/04-indirops.t, t/helper.pm, t/testdata/baseops.pm, t/testdata/core-ops.pm, t/testdata/indirops.pm: Start fixing indirop bugs 2018-06-21 Rocky Bernstein * t/04-baseops.t, t/04-indirops.t, t/05-unops.t, t/10-core.t, t/testdata/core-ops.pm, t/testdata/indirops.pm: Split off indirops ... All of them need fixing though. 2018-06-21 Rocky Bernstein * MANIFEST, t/04-baseops.t, t/{05-core-unops.t => 05-unops.t}, t/testdata/baseops.pm, t/testdata/core-ops.pm, t/testdata/{core-unops.pm => unops.pm}: Separate baseops from core tests 2018-06-21 Rocky Bernstein * t/testdata/core-ops.pm, t/testdata/core-unops.pm: More unop isolation 2018-06-21 Rocky Bernstein * admin/test-all.sh, t/helper.pm: 5.16 tolerance 2018-06-21 Rocky Bernstein * : commit f7c396eb2e14670a96b22dd833eba70217c09d97 Author: Rocky Bernstein Date: Thu Jun 21 12:52:26 2018 -0400 2018-06-18 Rocky Bernstein * lib/B/DeparseTree/P526.pm: Remove one more pp_stringify 2018-06-18 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: DRY pp_stringify 2018-06-17 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm, t/testdata/small.pm: Go over filetest 2018-06-17 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: more info_to_text -> info_to_string conversions 2018-06-17 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Some unop prev_op bugs 2018-06-17 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm, lib/B/DeparseTree/TreeNode.pm: better unop and prev_expr tracking 2018-06-16 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Slightly better -> method tagging 2018-06-16 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm, t/testdata/small.pm: Fix indirop bug, but skip a new test 2018-06-16 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, t/testdata/small.pm: Fix some bugs 2018-06-16 Rocky Bernstein * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Reduce duplication of _method and e_method 2018-06-16 Rocky Bernstein * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm: Reduce duplication in advance of combining code 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/P526.pm: Chip away at e_method and _method 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm: Inch e_method along 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/TreeNode.pm: Add a custom TreeNode printing routine 2018-06-15 Rocky Bernstein * .travis.yml, lib/B/DeparseTree/P516.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, t/20-deparse-small.t: See if travis can handle 5.18 and... fix breakage from last commit 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: More code reduction 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/P518.pm: Fix breakage from last commit 2018-06-15 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Redice P520-P522 change in preparation for merger 2018-06-14 Rocky Bernstein * lib/B/DeparseTree/P516.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: P522 and P524 are the same now... With the possibility of differences through OO? 2018-06-14 Rocky Bernstein * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/PPfns.pm: Reduce differences between P522.pm and P524.pm ... with an eye towards subclassing one into the other. 2018-06-13 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Baby step towards getting entersub under control 2018-06-11 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/TreeMain.pm: Use B::Deparse::split_float 2018-06-11 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: Put matchop pp's into PP_Optable 2018-06-11 Rocky Bernstein * lib/B/DeparseTree/PP.pm: Tiniest of entersub migration 2018-06-10 Rocky Bernstein * lib/B/DeparseTree/OPflags.pm, lib/B/DeparseTree/PPfns.pm: Wrong value for SVpad_TYPED 2018-06-10 Rocky Bernstein * lib/B/DeparseTree/PP.pm: Small tweak 2018-06-10 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/OPflags.pm, lib/B/DeparseTree/P516.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Start to split off 5.16 support 2018-06-09 Rocky Bernstein * lib/B/DeparseTree/TreeMain.pm: Twiddle next_sub 2018-06-09 Rocky Bernstein * scripts/Makefile: Better marking of [ in anonlist 2018-06-09 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PPfns.pm, t/roundtrip/mro/basic_04_dfs.t, t/roundtrip/runtests.pl, t/roundtrip/test.pl: Fix anonhash_or_list 2018-06-09 Rocky Bernstein * doc/demo-notes.md, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: subroutine call bug 2018-06-09 Rocky Bernstein * lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: remove maybe_my for 5.26.2{c}... CPerl is closer but not working for some my's 2018-06-09 Rocky Bernstein * lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/TreeMain.pm: Fix some of the cperl bugs 2018-06-09 Rocky Bernstein * t/testdata/small.pm: Reinstate more tests 2018-06-08 Rocky Bernstein * t/testdata/small.pm: Add back in more tests 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Move p_elem and pp_lslice 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: Remove pp_enterwrite diff 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Fix problems introduced by last commit 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/P518.pm: One more dup 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: remove pp_padsv dups 2018-06-08 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Reduce code 2018-06-07 Rocky Bernstein * README.md: Docs again 2018-06-07 Rocky Bernstein * README.md, lib/B/DeparseTree.pod: Docs again 2018-06-07 Rocky Bernstein * README.md, lib/B/DeparseTree.pod, lib/B/DeparseTree/Fragment.pm: Go over docs 2018-06-07 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm: Code reduction 2018-06-07 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm: Code reduction 2018-06-06 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: pp_substr removal in P5xx. 2018-06-06 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm, t/testdata/small.pm: Remove no-longer-used functions... Isolate bitops to 5.22 and later 2018-06-06 Rocky Bernstein * lib/B/DeparseTree/PP_OPtable.pm: A small comment change 2018-06-06 Rocky Bernstein * MANIFEST, admin/test-all.sh, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm, t/20-deparse-small.t, t/testdata/P518-short.pm, t/testdata/P522-short.pm, t/testdata/P524-short.pm, t/testdata/{P526-short.pm => small.pm}: DRY test data, and pp_readline 2018-06-05 Rocky Bernstein * lib/B/DeparseTree/TreeNode.pm: Forgot to add TreeNode.pm 2018-06-05 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/Printer.pm, lib/B/DeparseTree/SyntaxTree.pm, lib/B/DeparseTree/TreeMain.pm, t/unit/02-node.t, t/unit/03-treemain.t: DeparseTree::Node -> DeparseTree::TreeNode .. So that in the future we can have a StringNode. 2018-06-05 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/OPflags.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm: PP->Optable motion. Add PPflags 2018-06-05 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: Some PP -> PP_OPtable motion 2018-06-05 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: More PP -> Optable moves 2018-06-05 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: More PP -> Optable moves 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: PP->optable 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: More PP -> Optable 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: More PP.pm -> optable entries 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: Tidy more 2018-06-04 Rocky Bernstein * MANIFEST, admin/how-to-make-a-release.md, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Remove duplicates of pp_smartmatch 2018-06-04 Rocky Bernstein * lib/B/DeparseTree.pod: Minor doc tweak. 2018-06-04 Rocky Bernstein * admin/how-to-make-a-release.md, lib/B/DeparseTree.pod, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/TreeMain.pm: Add shell script to test everything. Revise documention and add dump_relations(). 2018-06-04 Rocky Bernstein * NEWS, lib/B/DeparseTree.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/Printer.pm, lib/B/DeparseTree/SyntaxTree.pm, lib/B/DeparseTree/TreeMain.pm: Get ready for release 3.2.0 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm, t/testdata/P524-short.pm: Pull more from B::Deparse 2018-06-04 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, t/testdata/P524-short.pm, t/testdata/P526-short.pm: Correct improper listop "(return)" handling 2018-06-04 Rocky Bernstein * t/testdata/P524-short.pm, t/testdata/P526-short.pm: Reinstate a number of tests 2018-06-03 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, t/testdata/P526-short.pm, t/unit/03-ppfns.t: Reduce parenthesis in indirop... correct funciton function_needs_parens 2018-06-03 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm, t/20-deparse-small.t, t/testdata/P526-short.pm: Fix bux in slice. Improve deparse-small code... Add back in some tests 2018-06-02 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Remove more P5xxx code. 2018-06-02 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Use B::Deparse cop_subs 2018-06-02 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: remove re_dq_disambiguate 2018-06-02 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Move dq to PPfns 2018-06-02 Rocky Bernstein * t/unit/03-treemain.t, t/unit/04-fragment.t: Administrivia 2018-06-02 Rocky Bernstein * MANIFEST: Administrivia 2018-06-02 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm, t/20-deparse-small.t, t/testdata/P526-short.pm, t/unit/03-fragment.t, t/unit/04-treemain.t: Minimal C Perl! + Administrivia 2018-06-02 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm: Misc cleanups... move single_delim from TreeMain to PPfns, define flag bits as contants. 2018-06-02 Rocky Bernstein * MANIFEST, doc/demo-notes.md, doc/notes.md, lib/B/DeparseTree/TreeMain.pm, t/unit/{03-common.t => 04-treemain.t}, t/unit/{04-load.t => 05-load.t}: Go over deparse_sub and next_todo Add previously omitted prototype in deparse_sub, improve $type tagging on tree nodes, and use revised info_from_string and info_from_tempate better. 2018-06-01 Rocky Bernstein * : commit 3b29a615421ffc60dec36d36100afa6bcf82060b Author: Rocky Bernstein Date: Fri Jun 1 23:19:12 2018 -0400 2018-06-01 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm: And another dedup 2018-06-01 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: One more dedup 2018-06-01 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Reduce code duplication 2018-06-01 Rocky Bernstein * doc/notes.md: Revise notes 2018-05-30 Rocky Bernstein * t/20-deparse-small.t: Typo 2018-05-30 Rocky Bernstein * t/20-deparse-small.t, t/testdata/subst.pm: Disable CircleCI test for now 2018-05-30 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/TreeMain.pm, t/testdata/subst.pm: More OO cleanups and reorganizations 2018-05-30 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/TreeMain.pm, t/unit/03-common.t: Small OO tweaks 2018-05-30 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/Printer.pm: OO heirarchy part 2 2018-05-30 rocky * MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, lib/B/DeparseTree/{Common.pm => TreeMain.pm}, t/unit/03-common.t: Start cleaning up OO hierarchy... this has been a long-time coming... 2018-05-30 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Reduced B::DeparseTree::Common use's 2018-05-30 rocky * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: More consolidation - will it ever end? 2018-05-30 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: P5xx -> PP 2018-05-30 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: Remove dup fns 2018-05-30 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Sweep more stuff out of Common and into PPfns... likewise for P5xx and into PP. 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Consolidate more in PP from P5xx 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/PPfns.pm: Work on positions with in pp_null 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: An attempt to get better pushmark info in there... not successful 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: More P5xx.pm -> PP.pm consolidation 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: DRY P5xx.pm into PP.pm more 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm: dbstate, nextstate -> cops and in table now 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Remove debug 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PPfns.pm: pp_null fixes - this time for sure! 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Fix pp_null bugs 2018-05-29 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: 2nd pass at pp_null for pre/post 5.20 2018-05-29 rocky * lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Make a pass over pp_null 2018-05-29 rocky * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PPfns.pm: Use | for marked ops... and fix one of the many bugs 2018-05-29 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PPfns.pm: Go over function maybe_local_str 2018-05-29 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: 5.22 needs newer subst 2018-05-29 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/PPfns.pm, t/testdata/subst.pm: fn exports futzing 2018-05-29 rocky * t/testdata/P524-short.pm, t/testdata/P526-short.pm: Bang on tests 2018-05-29 rocky * MANIFEST, lib/B/DeparseTree/PPfns.pm, scripts/frag.pl, t/20-deparse-small.t, t/testdata/P524.pm, t/testdata/P526-short.pm, t/testdata/subst.pm: Better test utilities 2018-05-28 rocky * t/roundtrip/runtests.pl: One more CI try 2018-05-28 rocky * GNUmakefile, t/roundtrip/runtests.pl: Another pass getting roundtrip working on CI 2018-05-28 rocky * GNUmakefile: More stringent CI testing 2018-05-28 rocky * t/roundtrip/runtests.pl: create/clean up work directory in roundtrip test 2018-05-28 rocky * .gitignore, t/20-deparse-small.t, t/roundtrip/Makefile, t/roundtrip/runtests.pl, t/roundtrip/tmp/.gitignore: Testing! 20-deparse-small.t: Write out failed tests runtests.pl: more complete rountrip testing 2018-05-28 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Reduce pp_subst copies 2018-05-28 Rocky Bernstein * t/testdata/P524-short.pm: And for 5.24- 2018-05-28 Rocky Bernstein * t/testdata/P526-short.pm: Revert test a little bit 2018-05-28 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P526.pm, t/testdata/P524-short.pm, t/testdata/P526-short.pm: Small bugs 2018-05-28 Rocky Bernstein * doc/demo-notes.md, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PPfns.pm: Go over single_delim Need to break out matchop into code before 5.22 and after. 2018-05-27 Rocky Bernstein * MANIFEST.SKIP: Ignore demo-notes.doc 2018-05-27 Rocky Bernstein * doc/demo-notes.md, doc/notes.md, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PP_OPtable.pm: Update notes, remove debug, fix a bug. 2018-05-27 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/SyntaxTree.pm: Start handling binops in table 2018-05-27 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm: Dedup assinglogop... And go over this routine 2018-05-27 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Tidy type on mapop .... but there seems to be a bug in grep expr 2018-05-27 Rocky Bernstein * GNUmakefile, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm: Go over mapop, create deparse_op_siblings 2018-05-27 Rocky Bernstein * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm: DRY repeat/pp_repeat and concat ... put in optable some other ops 2018-05-27 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Use padany and padname from B::Deparse 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: pp_pad{a,h}v in table now 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/PP_OPtable.pm: Tidy table 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: Add more ops to the op hash 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/PP_OPtable.pm: test negated improperly 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: Remove schmutz. More maybe_targmy calls 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PP_OPtable.pm: Start to put targmy in table 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Small changes 2018-05-26 R. Bernstein * doc/OLD_CHANGES.md: Update OLD_CHANGES.md 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/P520.pm: cut-n-paste typos 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Remove lex_in_scope 2018-05-26 Rocky Bernstein * MANIFEST, doc/OLD_CHANGES.md: Extract changes from code 2018-05-26 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP_OPtable.pm: Split off OPtable - YAY! .. Also use more B::Deparse routines 2018-05-26 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/OP.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/PP_OPtable.pm, lib/B/DeparseTree/PPfns.pm: Break off PP_OPtable to its own file. 2018-05-26 Rocky Bernstein * doc/notes.md: Update notes 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PPfns.pm: Finally get some sort of previous expression thing going... This gives us the proper traceback position on the stack. More work, refactoring and DRYing of course is needed. 2018-05-25 Rocky Bernstein * t/testdata/P524-short.pm: Cope wiht test regression 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, t/10-core.t, t/testdata/P526-short.pm, t/testdata/core-ops.pm: WIP: rework indirop.. there is some regression in tests here. 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: Bang on prev_op handling... 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PP.pm, scripts/frag.pl: Bang on other_op handling... Handle position field in extract_node_entry 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, t/testdata/P526-short.pm: DRY but ... there is a slight regression 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: DRY pp_null, mostly 2018-05-25 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Bang on other_node (pushmark) handling 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Put in table and DRY file test operators 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: DRY ftst and not ... more to come 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: Put more unops in a table and DRY 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Revise loopex 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/PPfns.pm: Small change to loopex 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm: DRY loopex and ops using that 2018-05-24 Rocky Bernstein * MANIFEST, doc/notes.md, doc/precedences.md, doc/precedences.txt: Tweak docs 2018-05-24 rocky * lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: Have to back of DRYing keyword for now 2018-05-24 rocky * MANIFEST, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PPfns.pm, t/roundtrip/Makefile: Bang on OPs CI + administrivia 2018-05-24 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Bang on OPs table. DRY 2018-05-24 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Bang on OPS table. DRY more 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PP.pm: Bang on OP table 2018-05-24 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Correct handling of other_ops: * If it is a B::DeparseTree::Node then associate info from that, otherwise * if it in an Op assocate the entire parent info node. 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Move pp_truncate to from Common to PP 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PPfns.pm: more fns from Common.pm -> PPfns.pm 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Document deparse design decisions 2018-05-23 Rocky Bernstein * MANIFEST, doc/precedences.txt, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: More support op futzing 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, t/unit/03-common.t: DRY support ops functions... by using B::Deparse more 2018-05-23 rocky * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: pp_avalues DRY 2018-05-23 rocky * lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/SyntaxTree.pm: Small changes 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: DRY ops more 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, scripts/frag.pl: %; needs trailing ";" Move ops to PPfns.pm 2018-05-23 rocky * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Sync P5xx's 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P524.pm: Reinstate more skipped nodes 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/PP.pm: Start to fill in skipped ops 2018-05-23 rocky * lib/B/DeparseTree/Common.pm: One more small change 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: DRY pp ops more 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: DRY and CI 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: DRY ops and maybe fix CI 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/OP.pm, lib/B/DeparseTree/PP.pm, t/10-core.t: Add to op table unop and baseop's 2018-05-23 rocky * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/OP.pm, lib/B/DeparseTree/PP.pm: Start to put into a table common PP fn patterns 2018-05-23 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/SyntaxTree.pm: move template routines from Common to SyntaxTree 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: DRY rv2gv and maybe_parens_unop 2018-05-23 Rocky Bernstein * lib/B/DeparseTree/PP.pm: leavetry -> eval {} label change 2018-05-23 Rocky Bernstein * GNUmakefile, MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, scripts/benchtests.pl, t/roundtrip/base/rs.t-notyet, t/roundtrip/deparse.sh: Misc bugs and administriva 2018-05-23 Rocky Bernstein * GNUmakefile, MANIFEST, MANIFEST.SKIP, scripts/README.md, t/roundtrip/README.md, {scripts => t/roundtrip}/base/cond.t, {scripts => t/roundtrip}/base/if.t, {scripts => t/roundtrip}/base/num.t, {scripts => t/roundtrip}/base/pat.t, {scripts => t/roundtrip}/base/term.t, {scripts => t/roundtrip}/base/translate.t, {scripts => t/roundtrip}/base/while.t, {scripts => t/roundtrip}/runtests.pl, t/roundtrip/tmp/.gitignore: Administrivia... Move round-trip tests under t. Futz with MANIFEST 2018-05-22 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm: Extend underlin parent source text to line 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: DRY pp_aassign and add a better name for it 2018-05-22 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Numerous bugs There was a slight regression in test setup which was introduced here, and eventually needs to be tracked down and fixed. 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm: Start to simplify indexes arg Covert binop to use templates 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Misc bugs 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/SyntaxTree.pm, scripts/frag.pl: Clean Node structure a little... Don't add "sep" or "texts" when it is not needed. 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm, lib/B/DeparseTree/SyntaxTree.pm, t/unit/03-common.t: Start rolling in info_from_string .. and rolling out info_from_text which uses a whacky paremeter ordering 2018-05-22 Rocky Bernstein * MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/SyntaxTree.pm, t/unit/04-load.t: Split off Tree routines. DRY 2018-05-22 Rocky Bernstein * scripts/base/num.t: Split off Tree-specific routines, DRY... and plough forward adding another test from the Perl suite 2018-05-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, t/testdata/P518-short.pm, t/testdata/P522-short.pm, t/testdata/P522.pm, t/testdata/P524-short.pm, t/testdata/P524.pm, t/testdata/P526-short.pm, t/testdata/P526.pm: ??? -> ?unrecoverable constant?... which is more clear about what's gone on. 2018-05-21 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P526c.pm, scripts/frag.pl: Remove extraneous \n's in "use". Start dumptree. 2018-05-21 rocky * lib/B/DeparseTree/Common.pm: Fix wrong call. 2018-05-21 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Move almost all of pp_() in Common to PP.pm 2018-05-21 rocky * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/PPfns.pm: Start splitting off PP functions from Common 2018-05-21 rocky * lib/B/DeparseTree/Common.pm: Another small change 2018-05-21 rocky * lib/B/DeparseTree/Common.pm: Small changes 2018-05-21 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: A little reorganization 2018-05-21 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Sideways step 2018-05-20 Rocky Bernstein * Build.PL, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Baby steps towards demangling entersub 2018-05-20 rocky * t/testdata/P518-short.pm, t/testdata/P522-short.pm, t/testdata/P526-short.pm: Reinstate "-((1, 2) x 2)" tests 2018-05-20 rocky * lib/B/DeparseTree.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: DRY. Move cperl is closer to working 2018-05-20 rocky * : commit 00151601bda7f7bd200fef13e63afd00525f0b03 Author: rocky Date: Sun May 20 18:34:28 2018 -0400 2018-05-20 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Improve tree linking around subroutines. 2018-05-20 Rocky Bernstein * MANIFEST, scripts/base/term.t: Move another test over from the Perl test suite 2018-05-20 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, scripts/base/pat.t: Add t/basic/pat.t test. DRY code more 2018-05-20 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/10-core.t, t/20-core-516.t, t/testdata/P516-core.pm, t/testdata/P520-core.pm, t/testdata/core-base.pm, t/testdata/{P526-core.pm => core-ops.pm}: Bang on 5.16 support and some 5.26c 2018-05-19 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Use B::Deparse::stash_subs 2018-05-19 R. Bernstein * : Merge pull request #2 from rocky/template-refactor Template refactor 2018-05-18 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P526.pm, t/20-deparse-526c.t, t/unit/03-fragment.t: Fix up child-parent context line finding 2018-05-18 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm: Fix up 5.26 repeat 2018-05-18 rocky * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, t/20-deparse-518-small.t, t/20-deparse-522-small.t, t/{20-deparse-526-small.t => 20-deparse-small.t}, t/testdata/P524-short.pm: Clean up and reduce tests a little 2018-05-18 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526c.pm: Small changes... DRY rv2x, more templates 2018-05-18 Rocky Bernstein * lib/B/DeparseTree/Common.pm, t/20-deparse-518-small.t, t/20-deparse-522-small.t, t/testdata/P524-short.pm, t/testdata/P526-short.pm: Correct prefix/postfix operator parsing 2018-05-18 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm: tidy a little 2018-05-17 Rocky Bernstein * t/testdata/P524-short.pm: Get 5.24 tests working - by removal :-( 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Fix borked extension that doesn't work yet. 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Remove debug 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm, t/10-core.t, t/20-deparse-518-small.t, t/20-deparse-522-small.t, t/20-deparse-526-small.t, t/helper.pm, t/testdata/P526-short.pm: Get small tests working minimally... for 5.26. And with more tests commented. But it is a start 2018-05-17 rocky * lib/B/DeparseTree/P524.pm: Remove shmutz from last commit 2018-05-17 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P524.pm: bug in foreach 2018-05-17 rocky * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm, scripts/base/translate.t: Bang on "for" loops... Not fully tested though. But good enough to add "translate.t" test 2018-05-17 rocky * t/10-core.t, t/helper.pm, t/testdata/P526-core.pm: Reinstate some tests - Better error loc reporting 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm: Reinstate accidentally-removed "other_ops". we distinguish "synthesized B::DeparseTree nodes from ops that have been passed or skipped over. 2018-05-17 rocky * lib/B/DeparseTree/Common.pm: Better tree structuring... we will start to allow synthesized nodes to get linked in to the tree. More work is needed though. 2018-05-17 rocky * lib/B/DeparseTree/Common.pm, t/unit/03-common.t: Add function transform specifier %F. 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Bang on dquote and single_delmi... transformation functions are still needed 2018-05-17 Rocky Bernstein * lib/B/DeparseTree/PP.pm: ternary ? template conversion 2018-05-16 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: handle unop 'defined' DRY some 2018-05-16 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Use B:Deparse::tr_chr 2018-05-16 Rocky Bernstein * lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Bang on regcomp 2018-05-16 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Start handling if/elsif/else more correctly 2018-05-16 rocky * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Work around parent_op bug 2018-05-16 rocky * circle.yml: CircleCI administrivia 2018-05-16 rocky * .travis.yml: Administrivia 2018-05-16 rocky * GNUmakefile, MANIFEST, t/10-core.t, t/20-core-518.t, t/20-deparse-518-small.t, t/20-deparse-522-small.t, t/20-deparse-526-small.t, t/20-deparse-526c.t: Reinstate core testing by default... and disable deparse-*-small testing until we figure out what's wrong. 2018-05-16 rocky * MANIFEST, t/{20-core-526.t => 10-core.t}, t/20-core-522.t, t/20-core-524.t: Start DRYing core op tess 2018-05-16 rocky * t/20-core-526.t, t/helper.pm, t/testdata/P526-core.pm: Move common test code to helper. 2018-05-16 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, scripts/frag.pl, t/20-core-526.t, t/testdata/P526-core.pm, t/unit/03-common.t: Reinstate op testing on 5.26... and in the process we've fixed some bugs. A bit of refactoring too. 2018-05-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, lib/B/DeparseTree/Printer.pm, t/unit/02-node.t, t/unit/03-common.t: pp_subst bugs. DRY more correct spelling of precedence 2018-05-15 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: More error checking 2018-05-15 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: Add prev_addr_info export for Devel::Trepan use 2018-05-15 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/PP.pm: One more list->template conversion 2018-05-15 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm, t/20-core-518.t, t/20-core-522.t, t/20-core-524.t, t/20-core-526.t: Bang on preamble BEGIN/use/hints 2018-05-15 Rocky Bernstein * .travis.yml: Travis take 5 2018-05-15 Rocky Bernstein * .travis.yml: TravisCI take 4 2018-05-15 Rocky Bernstein * .travis.yml, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm: Bang on for(;;;) loop 2018-05-15 Rocky Bernstein * GNUmakefile, lib/B/DeparseTree/Fragment.pm: Travis take 3 2018-05-14 Rocky Bernstein * .travis.yml, lib/B/DeparseTree/Common.pm: Add prev and child pos for lists... And TravisCI administrivia 2018-05-14 Rocky Bernstein * .travis.yml: travis Administriva 2018-05-14 Rocky Bernstein * MANIFEST: Admnistrivia 2018-05-14 Rocky Bernstein * GNUmakefile, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/PP.pm, t/unit/03-common.t: template-drive formatting is a win... although it needs a lot more work. 2018-05-14 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, t/unit/03-common.t: Finding child position in parent... now that we have template processing. 2018-05-14 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/unit/03-common.t, t/unit/{00-load.t => 04-load.t}: Start populating info_from_template 2018-05-14 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, t/unit/03-common.t: Start template engine 2018-05-13 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/Printer.pm, t/unit/02-node.t: Fold in some of the refactor-branch changes 2018-05-13 rocky * MANIFEST, t/20-core-526.t, t/20-deparse-520.t, t/20-deparse-522-small.t, t/20-deparse-522.t, t/20-deparse-524-small.t, t/20-deparse-524.t, t/20-deparse-526-small.t, t/20-deparse-526.t: Simpilfy I hope 2018-05-13 rocky * MANIFEST, t/20-core-522.t: Administrivia 2018-05-13 rocky * MANIFEST, t/20-core-520.t, t/20-core-524.t, t/20-core-526.t, t/20-deparse-516.small.t, t/20-deparse-518-small.t, t/20-deparse-520.t, t/20-deparse-522-small.t, t/20-deparse-524-small.t, t/20-deparse-526-small.t, t/helper.pm: DRY tests 2018-05-13 rocky * MANIFEST, t/20-core-518.t, t/20-core-520.t, t/20-core-522.t, t/{20-deparse-518.small.t => 20-deparse-518-small.t}, t/20-deparse-522-small.t, t/20-deparse-522.t, t/20-deparse-524-small.t, t/20-deparse-526-small.t, t/helper.pm: DRY tests 2018-05-13 rocky * t/testdata/core-base.pm: Forgot to add core-base 2018-05-13 rocky * MANIFEST, t/20-core-518.t, t/20-core-520.t, t/20-core-522.t, t/20-core-524.t, t/testdata/P518-core.pm, t/testdata/P520-core.pm, t/testdata/P522-core.pm, t/testdata/P524-core.pm: DRY core test data somewhat 2018-05-13 rocky * lib/B/DeparseTree/P526.pm, t/20-core-524.t, t/20-core-526.t, t/20-deparse-526.t, t/helper.pm: Bang on 5.26 tests 2018-05-13 rocky * t/20-core-516.t, t/20-core-518.t, t/20-core-520.t, t/20-core-524.t, t/20-deparse-526.t, t/20-deparse-526c.t, t/helper.pm: Get CI tests working again 2018-05-13 rocky * t/20-core-524.t, t/helper.pm: Wrong file -- remove unused helper "testit" 2018-05-13 rocky * t/20-core-516.t, t/20-core-518.t, t/20-core-520.t, t/20-core-522.t, t/20-core-524.t, t/20-core-526.t, t/20-deparse-526.t, t/20-deparse-526c.t, t/helper.pm: DRY and fix prior DRY bug 2018-05-13 rocky * MANIFEST, t/20-core-516.t, t/20-core-518.t, t/20-core-520.t, t/20-core-522.t, t/20-core-524.t, t/20-core-526.t, t/20-deparse-526.t, t/20-deparse-526c.t, t/helper.pm, t/testdata/P516-core.pm, t/testdata/P518-core.pm, t/testdata/P520-core.pm, t/testdata/P522-core.pm, t/testdata/P524-core.pm, t/testdata/P526-core.pm: Start to try core tests 2018-05-13 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/20-core-524.t, t/20-core-526.t: Add 5.26-core test. DRY. 2018-05-13 Rocky Bernstein * .gitignore, MANIFEST.SKIP, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: DRY more 2018-05-12 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, t/unit/03-common.t: More DeparseTree::Common testing 2018-05-12 rocky * Build.PL, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Use dq_unop from B::Deparse 2018-05-12 rocky * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P526c.pm, t/unit/03-common.t: Start B::DeparseTree::Common unit test 2018-05-12 rocky * lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/PP.pm, t/unit/02-node.t: Unit tests for parens_test... Update types for "exists" 2018-05-12 rocky * MANIFEST: Admnistrivia 2018-05-12 rocky * GNUmakefile, MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/PP.pm, scripts/base/pat.t, scripts/opbasic/qq.t, t/10subclass.t, t/20-core-516.t, t/unit/00-load.t, t/unit/01-test-pod.t, t/unit/02-node.t: Start cleanup and improving modularity Split out unit tests 2018-05-11 Rocky Bernstein * NEWS, admin/how-to-make-a-release.md: Get ready for release 3.0.0 2018-05-11 Rocky Bernstein * MANIFEST.SKIP: Administrivia 2018-05-11 Rocky Bernstein * MANIFEST.SKIP, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm: Administrivia 2018-05-11 Rocky Bernstein * .travis.yml, admin/check-short.sh, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Reinstate 5.26.1 More tests 2018-05-11 Rocky Bernstein * lib/B/DeparseTree/P518.pm: Forgot to add P518. 2018-05-11 Rocky Bernstein * GNUmakefile, MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, scripts/base/lex.t, scripts/base/num.t, scripts/base/rs.t, scripts/base/term.t, scripts/opbasic/arith.t, scripts/opbasic/magic_phase.t, t/20-deparse-526.t: Fix 5.26.1 tests and test in general... More DRYness, and fewer warnings 2018-05-11 rocky * GNUmakefile, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: DRY more... GNUMakefile: check-cautious bails early 2018-05-11 Rocky Bernstein * example/five.pl, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: More tweaks - DRY pp_null... Use B::Deparse more. Start to look at special characters as separators. 2018-05-10 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: DRY binop. Better types 2018-05-10 Rocky Bernstein * : commit f97d07229a0c2b7b354a31e38e7878aa0610e131 Author: Rocky Bernstein Date: Thu May 10 11:51:25 2018 -0400 2018-05-10 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: More DeparseTrees, better node labels 2018-05-09 Rocky Bernstein * lib/B/DeparseTree/Common.pm: One more for tonight 2018-05-09 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: DRY, and improve initial BEGIN's 2018-05-09 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: Some bugs and start more descriptive node types 2018-05-09 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Bang on more correct tree info. DRY more 2018-05-09 rocky * lib/B/DeparseTree/P522.pm: Remove Enbugger debugging 2018-05-09 rocky * lib/B/DeparseTree/P520.pm: Fix Bug introduced by last change 2018-05-09 rocky * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm: Try to get more under control 2018-05-08 Rocky Bernstein * .travis.yml: 5.26 needs a lot of work... remove from testing 2018-05-08 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm: Fragment and Some bug fixes... but not ideal. 2018-05-08 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: Improve ~ underlining. 2018-05-08 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, scripts/deparse.sh, t/20-core-524.t: errors that would have been caught by typechecking 2018-05-08 Rocky Bernstein * t/20-deparse-520.t: More testing 2018-05-08 Rocky Bernstein * t/testdata/P522-short.pm, t/testdata/P524.pm: Remove more tests 2018-05-08 Rocky Bernstein * t/testdata/P522.pm: Remove another 5.22 test 2018-05-08 Rocky Bernstein * t/testdata/P518-short.pm, t/testdata/P520.pm, t/testdata/P524-short.pm: Recent change to single-delim introduced bug... Remove the test for now. 2018-05-08 Rocky Bernstein * lib/B/DeparseTree/Common.pm: remove debug, yet again 2018-05-08 Rocky Bernstein * .travis.yml, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, t/20-deparse-526-small.t, t/testdata/P526-short.pm: bus and DRY 2018-05-07 Rocky Bernstein * GNUmakefile, MANIFEST, MANIFEST.SKIP: Administrivia 2018-05-07 Rocky Bernstein * GNUmakefile, lib/B/DeparseTree/Common.pm, scripts/Makefile: Administrivia 2018-05-07 Rocky Bernstein * MANIFEST, MANIFEST.SKIP, admin/how-to-make-a-release.md, {testdata => scripts}/.gitignore, {testdata => scripts}/Makefile, {testdata => scripts}/README.md, {testdata => scripts}/base/cond.t, {testdata => scripts}/base/if.t, {testdata => scripts}/base/lex.t, {testdata => scripts}/base/num.t, {testdata => scripts}/base/pat.t, {testdata => scripts}/base/rs.t, {testdata => scripts}/base/term.t, {testdata => scripts}/base/while.t, scripts/benchtests.pl, {testdata => scripts}/bug-sample.pm, scripts/deparse.sh, {testdata => scripts}/fib.pl, {testdata => scripts}/frag.pl, {testdata => scripts}/opbasic/arith.t, {testdata => scripts}/opbasic/magic_phase.t, {testdata => scripts}/opbasic/qq.t, {testdata => scripts}/runtests.pl: Reorganize 2018-05-07 Rocky Bernstein * : commit c5c6922deeb8a44a07b6da56465222a052b4d48b Author: Rocky Bernstein Date: Mon May 7 19:04:27 2018 -0400 2018-05-07 Rocky Bernstein * t/testdata/P522.pm: Remove more 5.22 tests 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/P522.pm: Inconsistencies due to unnneded reducancy 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/Node.pm: Remove debug -fck 2018-05-07 Rocky Bernstein * .travis.yml, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, t/20-deparse-520.t, t/testdata/P520.pm, t/testdata/P524.pm: Bang on 5.20 and CI 2018-05-07 Rocky Bernstein * .travis.yml, testdata/Makefile: CI Administrivia 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/Node.pm: Remove debuging schmutz again. 2018-05-07 Rocky Bernstein * MANIFEST, README.md, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/PP.pm, testdata/Makefile, testdata/README.md, testdata/frag.pl: Fix full file deparsing ("compile") and document 2018-05-07 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, t/testdata/P522-short.pm, t/testdata/P524-short.pm: More DRY + Administivia 2018-05-07 Rocky Bernstein * example/five.pl, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/PP.pm: Had dropped some pp functions 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Remove debug code 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Perl 5.18 tolerance 2018-05-07 Rocky Bernstein * GNUmakefile, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: More DRY, More tests 2018-05-07 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: More bugs more DRY 2018-05-07 Rocky Bernstein * example/fib.pl, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: DRY code (and fix bugs) 2018-05-07 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/P524.pm, t/20-deparse-524-small.t, t/testdata/P524-short.pm, t/testdata/P524.pm: 5.24 testing by test removal 2018-05-07 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, t/testdata/.gitignore, t/testdata/{bug.pm => bug-sample.pm}: Administrivia: MANIFEST... and some 5.24.pm fixes 2018-05-06 Rocky Bernstein * lib/B/DeparseTree.pm, t/testdata/P518-short.pm: See if we can get CircleCI to work 2018-05-06 Rocky Bernstein * t/20-deparse-518.small.t, t/20-deparse-522-small.t, t/testdata/P518-short.pm: Adjust 5.18 tests 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Tidy unary op code 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm: fix and DRY pp_cond_expr... remove duplicate pp_once. Improve pfixop 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: More OO 2018-05-06 Rocky Bernstein * circle.yml: CircleCI testing 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/P522.pm, t/20-core-522.t, t/20-deparse-522-small.t, t/20-deparse-522.t, t/testdata/P522-short.pm, testdata/.gitignore, testdata/bug-sample.pm: Reinstate tests 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: Add Alternate underline fragment method 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Fragment.pm: Fragment separator needed is parent separator 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm: Sync 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P522.pm: Misc fragment fixes 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/PP.pm, t/testdata/bug.pm: Sync a bit more 2018-05-06 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm, t/20-core-522.t, t/20-deparse-522-small.t, t/20-deparse-522.t: WIP - fragment handling 2018-05-05 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Sync 5.22 changes somewhat 2018-05-05 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm, t/20-core-522.t, t/testdata/bug.pm, testdata/frag.pl: WIP: start fragment/parent correspondences 2018-05-04 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Fragment.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, t/20-deparse-522-small.t: WIP: Record more info in fragment... Start a separate module for this. 2018-05-02 rocky * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Fix Bug introduced in recording child position 2018-05-02 rocky * t/20-deparse-518.small.t, t/20-deparse-520.t, t/20-deparse-522-small.t: WIP - generalize and cleanup some 2018-05-02 rocky * lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm: Start tracking child positions 2018-04-30 rocky * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/20-core-522.t, t/20-deparse-522-small.t: Additional Note tree parameters... Add op and deparse pointer 2018-04-29 Rocky Bernstein * t/testdata/P518-short.pm: Skip test for now 2018-04-29 Rocky Bernstein * MANIFEST: Update MANIFEST 2018-04-29 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/Node.pm, t/testdata/P522-short.pm: Start using Node object 2018-04-29 Rocky Bernstein * lib/B/DeparseTree/Common.pm: I hate conflicted merges 2018-04-25 Rocky Bernstein * t/testdata/P522-short.pm: Forgot to add file 2018-04-25 Rocky Bernstein * MANIFEST: Update MANIFEST 2018-04-25 Rocky Bernstein * t/20-deparse-522-small.t, t/testdata/P518-short.pm: Go over tests 2018-04-25 Rocky Bernstein * t/20-deparse-518.small.t, t/20-deparse-526-small.t, t/testdata/P518-short.pm: Remove some 5.18 tests... for now.. DRY'd testing code so there is hope this will be reinstated and ultimately improved beyond where it is now. 2018-04-25 Rocky Bernstein * t/20-deparse-526-small.t, t/testdata/P526-short.pm, t/testdata/README.md: Start splitting of test data from tests 2018-04-25 Rocky Bernstein * lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, t/20-deparse-526-small.t: update regexp flag parsing for 5.26 2018-04-24 Rocky Bernstein * lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/20-deparse-526-small.t, t/20-deparse-526.t: WIP get it to work minimally 2018-04-24 Rocky Bernstein * MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, lib/B/DeparseTree/P526c.pm, lib/B/DeparseTree/PP.pm, t/20-deparse-526.t, t/{20-core-526.t => 20-deparse-526c.t}: WIP. More coverage, start cperl tolerance 2017-07-26 Rocky Bernstein * Build.PL, MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/P518.pm, lib/B/DeparseTree/P520.pm, t/20-core-516.t, t/20-deparse-516.small.t: Extend to back to Perl 5.16 2017-07-25 Rocky Bernstein * MANIFEST: Add new test 2017-07-25 Rocky Bernstein * t/20-deparse-522.t, t/20-deparse-524.t: More complete tests for 5.24 2017-07-22 Rocky Bernstein * .travis.yml: Travis testing fixup 2017-07-22 Rocky Bernstein * circle.yml: Another Circle try 2017-07-22 Rocky Bernstein * .travis.yml, MANIFEST.SKIP, git2cl: Another try 2017-07-22 Rocky Bernstein * circle.yml: Yet again 2017-07-22 Rocky Bernstein * circle.yml: Circle yet again 2017-07-22 Rocky Bernstein * MANIFEST: Missing test 2017-07-22 Rocky Bernstein * circle.yml: CircleCI 3rd try 2017-07-22 Rocky Bernstein * .circleci/config.yml, circle.yml: 2nd CircleCI try 2017-07-22 Rocky Bernstein * .circleci/config.yml: Try CircleCI 2017-07-22 Rocky Bernstein * README.md, t/20-core-518.t, t/20-deparse-520.t, t/testdata/P518.pm: Minfor change 2017-07-22 Rocky Bernstein * lib/B/DeparseTree/P518.pm, t/20-deparse-522.t: More testing stuff 2017-07-22 Rocky Bernstein * .gitignore, MANIFEST, t/20-deparse-520-small.t, t/20-deparse-520.t, t/testdata/P518.pm, t/testdata/P520.pm: Full Perl 5.20 B::Deparse tests ... Separate data from driver. Add 5.18 data. Don't need 5.20 small tests since we have now the full set of tests 2017-07-18 Rocky Bernstein * MANIFEST, NEWS, README.md, lib/B/DeparseTree.pm, lib/B/DeparseTree/P516.pm: Get ready for release 2.1.5 2017-07-16 Rocky Bernstein * NEWS, lib/B/DeparseTree.pm: Get ready for release 2.1.4 2017-07-16 Rocky Bernstein * .travis.yml, MANIFEST, t/20-core-526.t, t/testdata/P520.pm, t/testdata/P522.pm, t/testdata/P524.pm, t/testdata/P526.pm, t/testdata/README.pod: Perl test data more tests and CI configs 2017-07-15 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, t/20-deparse-524-small.t, t/20-deparse-526-small.t: Misc 5.24 and 5.26 bugs 2017-07-15 Rocky Bernstein * t/20-core-524.t: Typo 2017-07-15 Rocky Bernstein * t/20-core-524.t: The long test for Perl 5:24 2017-07-15 Rocky Bernstein * t/20-core-518.t: Add 5.18 core test 2017-07-15 Rocky Bernstein * t/20-deparse-518.small.t: Adjust tests for 5.18 2017-07-15 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P516.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm, lib/B/DeparseTree/P526.pm, t/20-deparse-518.small.t, t/20-deparse-526-small.t: Try expanding Perl versions 2016-07-13 Rocky Bernstein * lib/B/DeparseTree.pod: Typo 2016-06-07 Rocky Bernstein * MANIFEST, NEWS, lib/B/DeparseTree.pm, lib/B/DeparseTree.pod, t/20-deparse-522-small.t, t/20-deparse-524-small.t: Get ready for release 2.1.3 2016-06-07 Rocky Bernstein * MANIFEST, MANIFEST.SKIP, NEWS: I said -Get ready for release 2.1.2 2016-06-07 Rocky Bernstein * circle.yml: Reduce CircleCI dependendcies 2016-06-07 Rocky Bernstein * circle.yml: Try CircleCI.yml 2016-06-07 Rocky Bernstein * .travis.yml: Travis can't handle Perl 5.24 2016-06-07 Rocky Bernstein * lib/B/DeparseTree.pm: Get ready for version 2.1.2 2016-06-07 Rocky Bernstein * .travis.yml: Try Perl 5.24 with Travis 2016-06-07 Rocky Bernstein * t/20-core-520.t, t/20-deparse-524-small.t: First 5.24 test 2016-06-07 Rocky Bernstein * .travis.yml: Try Perl 5.22 on travis 2016-06-07 Rocky Bernstein * .gitignore, lib/B/DeparseTree.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/P524.pm: Start Perl 5.24 support 2015-11-24 Rocky Bernstein * : commit 2f5dd20fdfc5c02a21c9b211017c907d6a5efb4a Author: Rocky Bernstein Date: Tue Nov 24 20:10:30 2015 -0500 2015-11-24 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: reconcile some 5.20 vs 5.22 differences. Gett ready for 2.1.1 release 2015-11-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P522.pm: Some 5.22.0 Deparse.pm sync 2015-11-22 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: One more otherop for indirop (e.g. print) DRY more. 2015-11-19 Rocky Bernstein * MANIFEST, NEWS, TODO: Add NEWS, revise TODO 2015-11-19 Rocky Bernstein * example/fib.pl, example/multiline.pl, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/Printer.pm: One more other op. coderef2list -> coderef2info add main2info 2015-11-18 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: More dry 2015-11-17 Rocky Bernstein * .gitignore, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: Tidy a little 2015-11-17 Rocky Bernstein * .travis.yml, README.md: Include 5.18 in tests. Beefier README.md 2015-11-17 Rocky Bernstein * Build.PL, lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm: Start a 5.18. version 2015-11-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm: One more otherop 2015-11-17 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: More common; another other_op 2015-11-17 Rocky Bernstein * .gitignore, lib/B/DeparseTree/Common.pm: 5.18 compatibility 2015-11-16 Rocky Bernstein * MANIFEST, MANIFEST.SKIP: Get ready for release 2.0.2 2015-11-16 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P522.pm: Get ready for release 2.0.2 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm, t/20-core-520.t, t/20-core-522.t: DRY/common more. t: avoid testing outside of 5.20 and 5.22 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: A Type bug. DRY code 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: Move logops from P5xx to PP 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: Remove some style options. Use perltidy for those 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Bugs 2015-11-16 Rocky Bernstein * lib/B/DeparseTree/Common.pm: Misc bugs 2015-11-16 Rocky Bernstein * MANIFEST: Admnistrivia 2015-11-15 Rocky Bernstein * lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: Another translation bug. Move more to common 2015-11-15 Rocky Bernstein * lib/B/DeparseTree/Common.pm: More translation bugs 2015-11-15 Rocky Bernstein * lib/B/DeparseTree.pod: Get ready for version 2.0.1 2015-11-13 Rocky Bernstein * Build.PL, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm, t/20-deparse-520-small.t, t/20-deparse-522-small.t: Build.PL: correct dependencies; rest move out of P520 and P522 2015-11-13 Rocky Bernstein * lib/B/DeparseTree.pod: Revise POD to better describe the difference between B::Deparse and B::DeparseTree. 2015-11-13 Rocky Bernstein * MANIFEST: Get ready for release 2015-11-13 Rocky Bernstein * MANIFEST, MANIFEST.SKIP: Get ready for release 2.0.0 2015-11-13 Rocky Bernstein * MANIFEST, TODO, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/PP.pm: Split more common code from P520 and P522. Start file of just OP deparse routines. 2015-11-13 Rocky Bernstein * MANIFEST, TODO: Start TODO list 2015-11-13 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: Save other_ops found in _method feeding to e_method feeding to entersub 2015-11-12 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: Minor stuff 2015-11-12 Rocky Bernstein * t/20-deparse-520-small.t, t/20-deparse-522-small.t: A couple more tests reinstated 2015-11-12 Rocky Bernstein * t/20-deparse-520-small.t, t/20-deparse-522-small.t: Reinstate another test 2015-11-12 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: More translation bug 2015-11-12 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, t/20-core-520.t, t/20-core-522.t: Fix translation bugs. 2015-11-12 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, testdata/runtests.pl: Another translation bug 2015-11-12 Rocky Bernstein * Build.PL, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/Printer.pm: More moved to Common.pm. More other_ops. Add length option to short_str 2015-11-12 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: Add more other_ops. 2015-11-11 Rocky Bernstein * README.md: Add travis badge 2015-11-11 Rocky Bernstein * MANIFEST.SKIP: More Perl ignore 2015-11-11 Rocky Bernstein * .travis.yml: Try travis 2015-11-11 Rocky Bernstein * README.md: README.md typo 2015-11-11 Rocky Bernstein * README.md: Tweak README.md 2015-11-11 Rocky Bernstein * MANIFEST, README.md: Add README 2015-11-11 Rocky Bernstein * : commit d17f6a210204cb5550f4614ce5384885d403134c Author: Rocky Bernstein Date: Wed Nov 11 00:51:10 2015 -0500 2015-11-10 Rocky Bernstein * MANIFEST, lib/B/DeparseTree/Common.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, lib/B/DeparseTree/Printer.pm: Start to split out common files from 5.22 and 5.20 version. Add custom info printing (Printer). 2015-11-10 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: More other ops 2015-11-10 Rocky Bernstein * testdata/base/term.t, testdata/opbasic/arith.t, testdata/opbasic/magic_phase.t, testdata/opbasic/qq.t: More tests 2015-11-09 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, t/20-core-520.t, t/20-core-522.t, t/20-deparse-520-small.t, t/20-deparse-522-small.t: reconcile indirop and some 522 inconsistancies, start 522 small test. 2015-11-09 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: More conversion bugs fixed 2015-11-09 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, testdata/runtests.pl: Make sure B::DeparseTree::compile works. 2015-11-09 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm, t/20-core-522.t: Convert e_method(); bug in pp_scalar and pp_split 2015-11-09 Rocky Bernstein * lib/B/DeparseTree/P520.pm, lib/B/DeparseTree/P522.pm: More bugs 2015-11-08 Rocky Bernstein * .gitignore, MANIFEST, lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm, lib/B/{DeparseTree520.pm => DeparseTree/P522.pm}, t/20-core-520.t, t/20-core-522.t, t/20-deparse-520-small.t: Start Perl 5.22 support 2015-11-08 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree/P520.pm, lib/B/DeparseTree520.pm, t/.gitignore: Start to allow for Perl 5.22 2015-11-08 Rocky Bernstein * Build.PL, MANIFEST, lib/B/DeparseTree.pm, t/{Deparse-subclass.t => 10subclass.t}, t/{Deparse-core-5.20-good.t => 20-core-520.t}, t/20-deparse-520-small.t, t/Deparse-core-5.20.t: standard style tests. Do lexical level 2 tests. 2015-11-08 Rocky Bernstein * lib/B/DeparseTree.pm, t/Deparse-core-5.20-good.t: Misc bugs 2015-11-07 Rocky Bernstein * lib/B/DeparseTree.pm, t/Deparse-core-5.20-good.t, t/Deparse-core-5.20.t: Add first tests 2015-11-06 Rocky Bernstein * lib/B/DeparseTree.pm: Misc bugs 2015-11-06 Rocky Bernstein * lib/B/DeparseTree.pm: indent_info removes maybe parens. Store maybe parens in tree. More aggressive about saving parents. DRY info building routines. 2015-11-05 Rocky Bernstein * GNUmakefile: Administrivia 2015-11-05 Rocky Bernstein * lib/B/DeparseTree.pm, lib/B/DeparseTree.pod: Split out pod stuff 2015-11-05 Rocky Bernstein * lib/B/DeparseTree.pm: Add other_ops field in info to note ops that are subsumed by or skipped in processing another op. 2015-11-05 Rocky Bernstein * .gitignore, Build.PL, MANIFEST, MANIFEST.SKIP: Build stuff 2015-11-03 Rocky Bernstein * lib/B/DeparseTree.pm, t/Deparse-subclass.t: WIP convert more routines to tree format 2015-11-03 rocky * lib/B/DeparseTree.pm: WIP convert more routines to tree format 2015-11-03 Rocky Bernstein * lib/B/DeparseTree.pm: Fixes to make num.t and pat.t deparse and run ok 2015-11-03 rocky * lib/B/DeparseTree.pm: Fixes to make num.t and pat.t deparse and run ok 2015-11-02 Rocky Bernstein * lib/B/DeparseTree.pm, testdata/.gitignore, testdata/runtests.pl: Fix up unop routines, more conversions from Deparse to DeparseTree 2015-11-02 rocky * lib/B/DeparseTree.pm, testdata/.gitignore, testdata/runtests.pl: Fix up unop routines, more conversions from Deparse to DeparseTree 2015-11-02 Rocky Bernstein * lib/B/DeparseTree.pm, testdata/runtests.pl: Bang on getting ifcond working. Add program to run tests 2015-11-02 rocky * lib/B/DeparseTree.pm, testdata/runtests.pl: Bang on getting ifcond working. Add program to run tests 2015-11-02 Rocky Bernstein * lib/B/DeparseTree.pm, testdata/base/cond.t, testdata/base/if.t, testdata/base/lex.t, testdata/base/num.t, testdata/base/pat.t, testdata/base/rs.t, testdata/base/term.t, testdata/base/while.t, testdata/fib.pl: More bogs and start to work on Perl standard tests 2015-11-02 rocky * lib/B/DeparseTree.pm, testdata/base/cond.t, testdata/base/if.t, testdata/base/lex.t, testdata/base/num.t, testdata/base/pat.t, testdata/base/rs.t, testdata/base/term.t, testdata/base/while.t, testdata/fib.pl: More bogs and start to work on Perl standard tests 2015-11-02 Rocky Bernstein * example/fib.pl, lib/B/DeparseTree.pm: Fix some of the bugs in indirop and compile 2015-11-02 rocky * example/fib.pl, lib/B/DeparseTree.pm: Fix some of the bugs in indirop and compile 2015-11-01 Rocky Bernstein * example/fib.pl, lib/B/{Deparse.pm => DeparseTree.pm}: WIP first tests work 2015-11-01 rocky * example/fib.pl, lib/B/{Deparse.pm => DeparseTree.pm}: WIP first tests work 2015-10-30 Rocky Bernstein * example/fib.pl, example/multiline.pl: Split example 2015-10-30 rocky * example/fib.pl, example/multiline.pl: Split example 2015-10-30 Rocky Bernstein * lib/B/Deparse.pm: WIP start to add -c for COP address and working with lists 2015-10-30 rocky * lib/B/Deparse.pm: WIP start to add -c for COP address and working with lists 2015-10-30 Rocky Bernstein * example/multiline.pl, lib/B/Deparse.pm: Original B::Deparse + 1 little example 2015-10-30 rocky * Original B::Deparse + 1 little example