Branch: refs/heads/smoke-me/tonyc/16608-leave-smartmatch-sub Home: https://github.com/Perl/perl5 Commit: 637f82e127dc2def1518375895413113e699c995 https://github.com/Perl/perl5/commit/637f82e127dc2def1518375895413113e699c995 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths: M deb.c Log Message: ----------- PERLSI_REGCOMP: add debugging string Commit: 095b2907046834ab715f95587d3dcfe1d294ac20 https://github.com/Perl/perl5/commit/095b2907046834ab715f95587d3dcfe1d294ac20 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-09 (Wed, 09 Apr 2025) Changed paths: M cop.h M deb.c M pp_ctl.c M t/lib/croak/pp_ctl Log Message: ----------- smartmatch: fail to find the loop instead of crashing dopoptoloop() or dopoptolabel() would find a loop outside the sub called from call_sv() and rewind the context and save stack to outside the context set up by call_sv(), crashes and panics ensure. Switching stacks here also starts a new context stack, so the outer loop isn't found and we don't crash. Most other callers to call_sv() (or call_method() etc) do the same. I'm not entirely sure about passing flags = 1 to push_stackinfo(), this matches pp_sort, but not other callers. Fixes #16608 Commit: 94629dcff6ff15b5b7ada886bfae289d3e12d9e7 https://github.com/Perl/perl5/commit/94629dcff6ff15b5b7ada886bfae289d3e12d9e7 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-09 (Wed, 09 Apr 2025) Changed paths: M class.c M cop.h M deb.c M t/lib/croak/class Log Message: ----------- class.c, injected_constructor: prevent loop exits exiting Using last, next etc would pop the context stack to above the call_sv(), generally resulting in a crash or assertion failure. The search the context to pop to stops at the top of the current context stack, and PUSHSTACKi() switches to a new stack, preventing the search from finding any loop outside the call_sv() Similar to #16608 Commit: b903a339329fb290dc23ee1ef52116b477b80746 https://github.com/Perl/perl5/commit/b903a339329fb290dc23ee1ef52116b477b80746 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-09 (Wed, 09 Apr 2025) Changed paths: M pod/perldelta.pod Log Message: ----------- perldelta for smartmatch, class constructors exiting with loop exits Compare: https://github.com/Perl/perl5/compare/637f82e127dc%5E...b903a339329f To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications