Branch: refs/heads/smoke-me/tonyc/16608-leave-smartmatch-sub Home: https://github.com/Perl/perl5 Commit: d28758c764f4779fe71ae97b830cd541fa5488e2 https://github.com/Perl/perl5/commit/d28758c764f4779fe71ae97b830cd541fa5488e2 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths: M deb.c Log Message: ----------- PERLSI_REGCOMP: add debugging string Commit: 5df56b316104c1316407e5e963d8c3798a8cba8d https://github.com/Perl/perl5/commit/5df56b316104c1316407e5e963d8c3798a8cba8d Author: Tony Cook <t...@develop-help.com> Date: 2025-04-15 (Tue, 15 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: 107c29a96901c7fbd4a46a1510c95990036c2968 https://github.com/Perl/perl5/commit/107c29a96901c7fbd4a46a1510c95990036c2968 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-15 (Tue, 15 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: 4d0024a2d671677404003dc7ded6aa4bff742034 https://github.com/Perl/perl5/commit/4d0024a2d671677404003dc7ded6aa4bff742034 Author: Tony Cook <t...@develop-help.com> Date: 2025-04-15 (Tue, 15 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/db1938c5ea74...4d0024a2d671 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications