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

Reply via email to