Front page | perl.perl5.changes |
Postings from August 2022
[Perl/perl5] b4b901: perl.h - add DEBUG_force() macro, to forcedebug f...
From:
Yves Orton via perl5-changes
Date:
August 29, 2022 12:12
Subject:
[Perl/perl5] b4b901: perl.h - add DEBUG_force() macro, to forcedebug f...
Message ID:
Perl/perl5/push/refs/heads/yves/stop_first_error/1e18ad-d34aa2@github.com
Branch: refs/heads/yves/stop_first_error
Home: https://github.com/Perl/perl5
Commit: b4b901c7e15a45d32a52c75279cc0e9cb66edd7a
https://github.com/Perl/perl5/commit/b4b901c7e15a45d32a52c75279cc0e9cb66edd7a
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: e69b6dc9324c01faeecf7d4dce2146d3fa33b4b7
https://github.com/Perl/perl5/commit/e69b6dc9324c01faeecf7d4dce2146d3fa33b4b7
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: f2de28a7f2fa4fbec22a5ca58ef66fb6ad9dfa0c
https://github.com/Perl/perl5/commit/f2de28a7f2fa4fbec22a5ca58ef66fb6ad9dfa0c
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: 5e02f8a2b3b8b4c8ee2f4414443a4f31cb080e07
https://github.com/Perl/perl5/commit/5e02f8a2b3b8b4c8ee2f4414443a4f31cb080e07
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: 8b9252ce3443137c1601a12cb381966023b8c7f6
https://github.com/Perl/perl5/commit/8b9252ce3443137c1601a12cb381966023b8c7f6
Author: Yves Orton <demerphq@gmail.com>
Date: 2022-08-29 (Mon, 29 Aug 2022)
Changed paths:
M perl.c
M t/op/blocks.t
Log Message:
-----------
Revert "postpone perl_parse() exit(0) bugfix"
This reverts commit 857320cbf85e762add18885ae8a197b5e0c21b69.
There were a lot of conflicts due to whitespace changes in the
intervening time. I manually reviewed the differences and merged them.
Commit: 94f3c9e904b6409c79d585b6d459d631d9cf2d50
https://github.com/Perl/perl5/commit/94f3c9e904b6409c79d585b6d459d631d9cf2d50
Author: Yves Orton <demerphq@gmail.com>
Date: 2022-08-29 (Mon, 29 Aug 2022)
Changed paths:
M pp_ctl.c
Log Message:
-----------
pp_ctl.c - use try_yyparse() for eval
CATCH_GET is never true in this code, so we never called try_yyparse()
which in turn meant we leaked debug data from failed evals. With this
in place an eval that dies during compile will always be handled by
doeval_comp() properly.
This fixes GH Issue #20161.
Commit: d34aa2cea84a3cc6ad9e78d9f245e35205e178f6
https://github.com/Perl/perl5/commit/d34aa2cea84a3cc6ad9e78d9f245e35205e178f6
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/1e18ad64d6a3...d34aa2cea84a
-
[Perl/perl5] b4b901: perl.h - add DEBUG_force() macro, to forcedebug f...
by Yves Orton via perl5-changes