Front page | perl.perl5.changes |
Postings from August 2022
[Perl/perl5] a240f0: Revert "postpone perl_parse() exit(0) bugfix"
From:
Yves Orton via perl5-changes
Date:
August 29, 2022 12:09
Subject:
[Perl/perl5] a240f0: Revert "postpone perl_parse() exit(0) bugfix"
Message ID:
Perl/perl5/push/refs/heads/yves/stop_first_error/e89295-1e18ad@github.com
Branch: refs/heads/yves/stop_first_error
Home: https://github.com/Perl/perl5
Commit: a240f0da07dc32bf5321af6e53a5d6c1f4877995
https://github.com/Perl/perl5/commit/a240f0da07dc32bf5321af6e53a5d6c1f4877995
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: 9a1cf68c4618090167ad58bc0be312d6ab7e573d
https://github.com/Perl/perl5/commit/9a1cf68c4618090167ad58bc0be312d6ab7e573d
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: 924878c604ab14938c92f34fcdf66469267a5fff
https://github.com/Perl/perl5/commit/924878c604ab14938c92f34fcdf66469267a5fff
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: b714be94dc84b1e40883f1c3541e7c736fa86680
https://github.com/Perl/perl5/commit/b714be94dc84b1e40883f1c3541e7c736fa86680
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: e53ba00b68e50d4840b3239c693a54f745f93de0
https://github.com/Perl/perl5/commit/e53ba00b68e50d4840b3239c693a54f745f93de0
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: 8701aa5cb5ff260c226e129c003a2aff8a11df19
https://github.com/Perl/perl5/commit/8701aa5cb5ff260c226e129c003a2aff8a11df19
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: 1e18ad64d6a32a50e36807fc1132b41c51db0334
https://github.com/Perl/perl5/commit/1e18ad64d6a32a50e36807fc1132b41c51db0334
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 obscures the actual error.
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.
This patch will fail test in t/comp/retainedlines.t but what that file
tries to testis already buggy, this change just exposes the bug inside
of the tests that retainedlines.t runs where it used to not to tickle
the bug. More details can be found in GH Issue #20161.
Compare: https://github.com/Perl/perl5/compare/e892954de38b...1e18ad64d6a3
-
[Perl/perl5] a240f0: Revert "postpone perl_parse() exit(0) bugfix"
by Yves Orton via perl5-changes