Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f365b85076de09f3ac70088e681735c3272a21e4
      
https://github.com/Perl/perl5/commit/f365b85076de09f3ac70088e681735c3272a21e4
  Author: David Mitchell <da...@iabyn.com>
  Date:   2022-07-31 (Sun, 31 Jul 2022)

  Changed paths:
    M ext/B/B.xs
    M ext/B/t/walkoptree.t

  Log Message:
  -----------
  fix B::walkoptree_debug()

It turns out that this method has been mostly broken since its
introduction in 1998. It will normally successfully turn debugging on
with a 'true' argument but will fail to disable again with a 'false'
argument.

This is for two reasons. First the XS code only ever sets the internal
debugging flag, never disables it, and second, it was checking the
truthfulness of the arg one too high on the stack and thus was actually
checking the CV which had just been popped off the stack, which happened
to be true.


Reply via email to