http://qs321.pair.com?node_id=708588


in reply to Re^2: RFC: Accelerated stepping
in thread RFC: Accelerated stepping

I then considered the difference to 'n' too miniscule to bother with it.

Others won't.

is perl5db.pl required to be backward compatible to Perl 4.x

Well of course not. It uses lexical variables for starters. You are looking at possibly the oldest, continually tweaked file in the Perl distribution though. It has enough cruft and differing code styles and idioms without adding one more.

• another intruder with the mooring in the heart of the Perl

Replies are listed 'Best First'.
Re^4: RFC: Accelerated stepping (p5p)
by tye (Sage) on Sep 03, 2008 at 03:45 UTC

    Fixing 'n' to do what it always should have with map/grep/sort would be a very welcome change. As already pointed out, there is no loss of functionality. Instead of 'n' and 's' both stepping into the map/grep/sort (which is almost never what I want to do), 's' does the old behavior and 'n' does something much better.

    Of course, I sent in a near-trivial patch to fix "o warn=0" and got quite bizarre responses from p5p and I've come to expect bizarre responses from p5p so if your prediction is correct it wouldn't be anything "new" from my perspective. But I still think it would be a senseless form of backward compatibility.

    Perhaps I should point out that my patch for "o warn=0" restores backward compatability with "O warn=0" from before the whole debugger interface was jumbled around for some reason. It might motivate somebody to apply my two-line patch due to the occasional extreme devotion to backward compatability. But I doubt it.

    - tye        

      Thanks,

      I am trying to consider corner cases just now. The weak part in my patch is the correct detection of grep/map/sort, I think.

      Example:

      $c++; $d++; $e++; print 'map';
      would currently not stop four times when single stepping with my modified 'n' command, which is not yet ok.

      BTW: Where can I see your patch?

        The "proper" way to implement what you are talking about is to base your actions on the parsed opnode tree, which probably means the patch belongs in Perl's own source code (or where-ever the existing 'n' vs 's' behavior difference is already implemented for subroutine calls).

        As for my patch, it was reported to p5p so should be in their e-mail archive (I believe there are at least two web servers that provide access to archives of p5p e-mails -- one says something like "basic navigation is coming RSN" and has said that for several years and I just find a lack of basic navigation quite frustrating; meanwhile, the other seems to be quite difficult to find a URL to for some bizarre reason or is harder to search or something so people rarely produce URLs to it... or, more to the point, I don't have even close to handy the information I would need to be able to confidently find a reference that would lead me to where my patch is available in even close to the amount of time it even took me to write this rediculously long-winded paragraph. Sorry. You could also try rt://perl, but I suspect that could easily turn into a rather large time sink while easily not turning up the desired results and may not even be in use any more for p5p-filed bugs against Perl.) A quick google for terms I know I used in the e-mail also failed to turn it up. :}

        Update: My patch, http://rt.perl.org/rt3//Public/Bug/Display.html?id=57016, got applied today, 2008-09-07 (more than a month since the last activity on it, just FYI). Thanks.

        - tye