Towards making tree walk walk more fully #4

Merged
merged 6 commits into from Oct 8, 2012

Conversation

Projects
None yet
2 participants

rocky commented Oct 8, 2012

This goes a long way towards addressing a long-standing problem in Enbugger that it doesn't mark various COP lines as stoppable or breakpoint-able. This is seen for example in perl5db or Devel::Trepan when using Enbugger.

It also can be used to greatly simplify and extend B::CodeLines.

However there still is one omission that should be addressed. See FIXME inside newly-created test t/utils/40walk.t

jbenjore added a commit that referenced this pull request Oct 8, 2012

Merge pull request #4 from rocky/master
Towards making tree walk walk more fully

@jbenjore jbenjore merged commit 62a70fc into jbenjore:master Oct 8, 2012

Owner

jbenjore commented Oct 8, 2012

Cool, merged. Will be released soonish. Tomorrow maybe?

On Sun, Oct 7, 2012 at 8:40 PM, R. Bernstein notifications@github.comwrote:

This goes a long way towards addressing a long-standing problem in
Enbugger that it doesn't mark various COP lines as stoppable or
breakpoint-able. This is seen for example in perl5db or Devel::Trepan when
using Enbugger.

It also can be used to greatly simplify and extend B::CodeLines.

However there still is one omission that should be addressed. See _FIXME_inside newly-created test

t/utils/40walk.t

You can merge this Pull Request by running:

git pull https://github.com/rocky/Perl-B-Utils master

Or view, comment on, or merge it at:

#4
Commit Summary

  • LISTOPs don't seem to be the only OPs that one can iterate siblings
    o…
  • Untabify
  • Untabify and bump version
  • Merge branch 'master' of github.com:rocky/Perl-B-Utils
  • Clean up code and note where we have problems.
  • Indentation yet again.

File Changes

  • M .gitignore (12)
  • M lib/B/Utils.pm (39)
  • M lib/B/Utils/OP.pm (2)
  • M t/utils/30parent.t (23)
  • M t/utils/40walk.t (38)

Patch Links

rocky commented Oct 8, 2012

This would be fantastic and would really help the other projects out.

In particular, I've already started redoing B::CodeLines to require B::Utils but it would have to be this newer (as yet unreleased) version in order to see benefit over what's there now.

I've been upset at a lingering problem in tree traversal which you can see in https://gist.github.com/3852403

Adding -d to Perl causes compilation to be slightly different which makes traversal via B::Concise or the patched B::Utils work.

I am at a loss as to why the traversal doesn't fully traverse. In B::CodeLines, a workaround would be to set the Perl debug flag, but I'd rather figure out why traversal isn't traversing.

Lastly, in the changes I used a revision number which I think may come out as a "testing" release. So you should look over and decide what revision number you want.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment