Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 3af0c9cbc4d14b19aaf8b9ea12be9f6622c195b4
https://github.com/Perl/perl5/commit/3af0c9cbc4d14b19aaf8b9ea12be9f6622c195b4
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Save start parse position
Future commits will need this. Having it means the 'first_time'
variable becomes redundant, and is removed.
Commit: 6cc7c28176938505f19774540f537126659e2cfc
https://github.com/Perl/perl5/commit/6cc7c28176938505f19774540f537126659e2cfc
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
inuit_more: Rewrite expression for clarity,future
These are equivalent since *e is asserted to be NUL, and if s[1] is NUL,
it can't be a digit. But there's a bit more cognition to figure this
out than the new spelling, which also paves the way for a future commit
Commit: 8a8e24b58092749dde20b59382221cb2dd75defc
https://github.com/Perl/perl5/commit/8a8e24b58092749dde20b59382221cb2dd75defc
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Use isDIGIT paradigm for isALPHA
This makes these two loops parallel, fixing a subtle bug in the isALPHA
one. The isDIGIT loop stops when s[1] is no longer a digit, leaving *s
pointing to the current character, so that when s gets incremented for
the the next iteration it looks at that non-digit. Prior to this
commit, the isALPHA loop stopped when s[0] is no longer an alpha, so
that when s gets incremented for the next iteration, it skips that
non-alpha instead of processing it.
Commit: 82a37e5d74a6af63720d7166467eff2fad2564e0
https://github.com/Perl/perl5/commit/82a37e5d74a6af63720d7166467eff2fad2564e0
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Convert for loop to while
This will give future commits the flexibility to do a 'continue' to
avoid incrementing the position pointer.
Commit: a59e58cfb0d0e06fcb785a423f4629ae7669a47a
https://github.com/Perl/perl5/commit/a59e58cfb0d0e06fcb785a423f4629ae7669a47a
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Add explicit check to avoid buffer overruns
The entry conditions for this function is that the pointer to the string
start and end positions may be the same, but that the end must be a NUL
character. If you follow the logic, it turns out that it never looks
past the first character unless it isn't a NUL. This commit makes that
more obvious.
Commit: fe0bdb5529a93d69393ce94d87cab42b367ccfa0
https://github.com/Perl/perl5/commit/fe0bdb5529a93d69393ce94d87cab42b367ccfa0
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Avoid use of unreliable value
As now stated in the comments, the 'send' variable may point to
something earlier than it should. This is a step towards fixing that.
In this particular case, it is easy to rewrite this 'if' statement to
avoid using 'send'
Commit: 7646ce7e591864e549df28dfa7246e8ebba19d14
https://github.com/Perl/perl5/commit/7646ce7e591864e549df28dfa7246e8ebba19d14
Author: Karl Williamson <[email protected]>
Date: 2026-03-04 (Wed, 04 Mar 2026)
Changed paths:
M toke.c
Log Message:
-----------
intuit_more: Fix premature termination bug
As noted in the commentary, this code is looking for a terminating ']',
and stops at the first one it finds, but that could be escaped (by any
odd number of preceding backslashes, or be within a \Q, so isn't
actually the terminating one. Hence it can stop processing prematurely.
Also, inside the loop, it nonetheless thought it should handle an
interior ']', which it would never get.
This commit changes the code so that the loop continues until it finds
an unescaped ']', leaving fixing the \Q case for the future.
Also, the intended handling of an interior ']' is commented out to
keep previous behavior unchanged. This is due to the point we are at
towards the end of the development cycle.
Compare: https://github.com/Perl/perl5/compare/d31370d6023d...7646ce7e5918
To unsubscribe from these emails, change your notification settings at
https://github.com/Perl/perl5/settings/notifications