[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl5-changes
Subject:    [Perl/perl5] b50139: perl.h - add DEBUG_force() macro, to force debug f...
From:       Yves Orton via perl5-changes <perl5-changes () perl ! org>
Date:       2022-08-29 18:53:48
Message-ID: Perl/perl5/push/refs/heads/yves/stop_first_error/b888ce-8297a9 () github ! com
[Download RAW message or body]

  Branch: refs/heads/yves/stop_first_error
  Home:   https://github.com/Perl/perl5
  Commit: b50139eb2788915a6ecd10b7ad8d11f96096c5d9
      https://github.com/Perl/perl5/commit/b50139eb2788915a6ecd10b7ad8d11f96096c5d9
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-08-29 (Mon, 29 Aug 2022)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h - add DEBUG_force() macro, to force debug for DEBUG_l() style macros

If you temporarily want to force on a DEBUG_l({...}) style macro you
have to change a fair bit of code, which is error prone. DEBUG_force()
lets you replace any DEBUG_x() macro with DEBUG_force() which will force
the debug block to execute (under DEBUGGING).


  Commit: 9accf1279953a9f328d988a93d349470f0d3ff65
      https://github.com/Perl/perl5/commit/9accf1279953a9f328d988a93d349470f0d3ff65
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-08-29 (Mon, 29 Aug 2022)

  Changed paths:
    M cop.h

  Log Message:
  -----------
  cop.h - show a bit more debug out in JMPENV macros, and minor fixes

Eg, use (v) consistently. Line up backslashes. Show the return from
JMPENV_PUSH().


  Commit: ac5f8ef56ab72fa2df8c8fa1687f968055a9a69b
      https://github.com/Perl/perl5/commit/ac5f8ef56ab72fa2df8c8fa1687f968055a9a69b
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-08-29 (Mon, 29 Aug 2022)

  Changed paths:
    M pod/perlinterp.pod

  Log Message:
  -----------
  perlinterp.pod - minor enhancements of the docs about JMPENV_ macros

Added a bit more on the levels and return codes. 1 is actually used
in the outmost call, or at least there is code to support it. Also
added "level" info, since that is used in -Dl.


  Commit: 5fa59328acc2a57ab5d8d534ced04fd433046c5c
      https://github.com/Perl/perl5/commit/5fa59328acc2a57ab5d8d534ced04fd433046c5c
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-08-29 (Mon, 29 Aug 2022)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  toke.c - dont just return the function, assign it to an intermediary

So we can debug it before we return. an optimization compiler should
make them the same thing anyway, but under -Og it is helpful to be able
to be able to see the return before we return it.


  Commit: 8297a9b9413d1d377d491bcb76d85e819e1b7906
      https://github.com/Perl/perl5/commit/8297a9b9413d1d377d491bcb76d85e819e1b7906
  Author: Yves Orton <demerphq@gmail.com>
  Date:   2022-08-29 (Mon, 29 Aug 2022)

  Changed paths:
    M embed.fnc
    M perl.c
    M perl.h
    M pod/perldiag.pod
    M pp_ctl.c
    M proto.h
    M t/lib/croak/toke
    M t/lib/subs/subs
    M t/lib/warnings/7fatal
    M t/lib/warnings/toke
    M t/op/lex.t
    M t/op/tie.t
    M t/run/fresh_perl.t
    M toke.c

  Log Message:
  -----------
  DRAFT: Stop parsing on first syntax error.

We try to keep parsing after many types of errors, up to a (current)
maximum of 10 errors. Continuing after a semantic error (like
undeclared variables) can be helpful, for instance showing a set of
common errors, but continuing after a syntax error isn't helpful
most of the time and will produce sometimes completely bizarre errors
which just obscure the actual error most of the time.

This patch makes the parser stop after the first syntax error, while
preserving the current behavior for other errors. An error is considered
a syntax error if the error message from our internals is the literal
text "syntax error". This may not be a complete list of true syntax
errors, we can iterate on that in the future.

Note that this patch relies on the fix "pp_ctl.c - use try_yyparse() for
eval", which allows t/comp/retainedlines.t to pass.


Compare: https://github.com/Perl/perl5/compare/b888ce72745f...8297a9b9413d
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic