Remove skip() workarounds - non-local last SKIP now works#162
Merged
Conversation
With block-level dispatcher sharing (PR #161), non-local control flow now works correctly. The skip() function can use 'last SKIP' directly without workarounds. Changes: - Test/More.pm: Replaced skip_internal() with proper skip() that uses last SKIP - TestMoreHelper.java: Removed skip() call rewriting logic - test.pl.patch: Removed skip_internal() workaround from Perl 5 tests Testing: - All 2012 unit tests pass (100%) - Perl 5 tests work correctly with native skip() implementation - Non-local last SKIP exits SKIP block immediately from subroutine This cleanup removes ~100 lines of workaround code that is no longer needed. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
With block-level dispatcher sharing (#161), non-local control flow now works correctly. The
skip()function can uselast SKIPdirectly without workarounds.Changes
Test/More.pm
skip_internal()workaround functionskip()that useslast SKIPskip_internalfrom exportsTestMoreHelper.java
test.pl.patch
skip_internal()additionskip()implementationHow It Works Now
Before (with workarounds):
After (clean implementation):
Testing
Verified non-local
last SKIPworks correctly:All 2012 unit tests pass (100%)
Impact
This cleanup demonstrates that the block-level dispatcher optimization (#161) provides robust, production-ready non-local control flow support.
🤖 Generated with Claude Code