Branch: refs/heads/smoke-me/khw-scan_num
  Home:   https://github.com/Perl/perl5
  Commit: 72f140eed6b84de675a3e221cb055bfaabe07e27
      
https://github.com/Perl/perl5/commit/72f140eed6b84de675a3e221cb055bfaabe07e27
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M embed.fnc
    M proto.h

  Log Message:
  -----------
  embed.fnc: Use correct name for formal parameter

The prototype here did not match the actual function


  Commit: 5a881ccb91c3cefa724301ce0607b9c8c4889f43
      
https://github.com/Perl/perl5/commit/5a881ccb91c3cefa724301ce0607b9c8c4889f43
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M perl.h
    M proto.h

  Log Message:
  -----------
  Inline Perl_grok_(bin|oct|hex)


  Commit: 56255e4219d9f3083b4f708b9230572e6e0ff9a9
      
https://github.com/Perl/perl5/commit/56255e4219d9f3083b4f708b9230572e6e0ff9a9
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  XXX Add grok_bin_hex()

grok_bin() and grok_hex() differ from grok_oct() in that they optionally
accept a leading 0x or 0b, based on a flag.  Then they all share common
code.  This commit splits out the check for the leading 0[bx] into a
separate function.


  Commit: 305de213cb4e88ca282c6e224091f0b63673d4d3
      
https://github.com/Perl/perl5/commit/305de213cb4e88ca282c6e224091f0b63673d4d3
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Add two UNLIKELY()s

Underscores in numbers are much less common than digits, and its
unlikely that a number will begin with all zero's and underscores


  Commit: 05a85b46974ded881cedaa86b1272ccc1d3c14e9
      
https://github.com/Perl/perl5/commit/05a85b46974ded881cedaa86b1272ccc1d3c14e9
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Add/revise some comments

And reflow.  This is in preparation for the next commit.


  Commit: 77cb443a431b909a186ead557672cb98b8974601
      
https://github.com/Perl/perl5/commit/77cb443a431b909a186ead557672cb98b8974601
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Speed up overflow detection

We can compute outside the loop the exact value at which the next
iteration wil overflow, saving some operations


  Commit: 4814771d47ef99e54b5fd1480fd06307e7a6757b
      
https://github.com/Perl/perl5/commit/4814771d47ef99e54b5fd1480fd06307e7a6757b
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Improve speed, precision

This replaces a floating multiply each loop iteration with an integer
increment, plus after the loop completes, a call to ldexp() or pow().

Most of the floating multiplies are done on integral values, so
not much precision is lost, but this gets it down to just one
precision-losing operation.


  Commit: 3c5324b605b12798c870cb1a587ca470a37c0780
      
https://github.com/Perl/perl5/commit/3c5324b605b12798c870cb1a587ca470a37c0780
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Macroize duplicated code

This is now complicated enough to benefit being placed in a macro
instead of duplicating it.


  Commit: 32be410fb67785f7e54043c02f41271c3f37f826
      
https://github.com/Perl/perl5/commit/32be410fb67785f7e54043c02f41271c3f37f826
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M perl.h
    M pp.c

  Log Message:
  -----------
  Add definitions for [IU}V_BITS to perl.h

replacing the pp.c definition of IV_BITS


  Commit: 3d56e5df5d195773a22394ddf1e122b6ec14a461
      
https://github.com/Perl/perl5/commit/3d56e5df5d195773a22394ddf1e122b6ec14a461
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Eke more precision when overflows

The algorithm for dealing with input that overflows a UV is to parse in
batches that don't overflow.  This means when we would otherwise
overflow the UV, we store the unoverflowed value in an NV, and start
over with the next batch, combining that with the first batch at the end
or when it too overflows.  This minimizes the number of floating point
operations.

But on platforms where a UV contains more bits than an NV significand,
that first batch when stored loses precision.  This is typical on a
64-bit machine using IEEE 754 double precision NVs, which have 53 bits
of precision.

This precision loss can be avoided by stopping accumulating the first
batch just before it would overflow the significand.  That effectively
is what this commit does.

Actually it is a bit more complicated.  Instead of stopping there, it
adds a checkpoint and goes on.  If the final result doesn't overflow the
UV, the checkpoint is simply ignored.  But if it does overflow, the code
returns to the checkpoint and creates a first batch from the data as of
there, and reparses those typically few bytes of input (11 bits is 2-3
hex digits) as the first bytes of the second batch.


  Commit: 709f38456972b69506ec179c29c8a841b22fdcdb
      
https://github.com/Perl/perl5/commit/709f38456972b69506ec179c29c8a841b22fdcdb
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Move error handling to outside loop

This makes the loop occupy less memory, but it's mainly for the next
commit which will remove a conditional each time through the loop, and
the tests want the error messages displayed in a particular order.


  Commit: 30cf2e57b835e8a903c9f9cd59d0c6049b3cf9cd
      
https://github.com/Perl/perl5/commit/30cf2e57b835e8a903c9f9cd59d0c6049b3cf9cd
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  debug


  Commit: 61bbd5b0399b6a5e9fc9d430bef7315f45b9c663
      
https://github.com/Perl/perl5/commit/61bbd5b0399b6a5e9fc9d430bef7315f45b9c663
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  rm debug


  Commit: f593c80ab7e5f70a233401c3b96cf03edfcfcd4f
      
https://github.com/Perl/perl5/commit/f593c80ab7e5f70a233401c3b96cf03edfcfcd4f
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Move overflow notification outside loop

There are several code section that deal with overflow; this allows some
of them to be combined, in future commits


  Commit: c43ff3cbd4bacb39d92c078b0fab1f7be9403461
      
https://github.com/Perl/perl5/commit/c43ff3cbd4bacb39d92c078b0fab1f7be9403461
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Combine two overflow handling sections


  Commit: ac20a27bc48083be60349c44a67d0ea9f4933613
      
https://github.com/Perl/perl5/commit/ac20a27bc48083be60349c44a67d0ea9f4933613
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Cleanup the function end code

This rationalizes a bit more the code at the end of the function to make
it a bit more readable.


  Commit: 13263e18956650b9e6d0b8d9d9c89b5eb707e303
      
https://github.com/Perl/perl5/commit/13263e18956650b9e6d0b8d9d9c89b5eb707e303
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Some more function termination cleanup

This moves some code into an else, and replaces it with an UNLIKELY.

That could be eliminated if we didn't care about the order the warning
messages are raised, but the test suite does test for a particular
order, so I'm leaving it as-is.


  Commit: 9ad2906170fdfa53de4240f006023188841d45cd
      
https://github.com/Perl/perl5/commit/9ad2906170fdfa53de4240f006023188841d45cd
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M inline.h
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Add ability to discard not overflow

This will be used in a future commit


  Commit: 63f6281f137042ea04dfa37e65f619785fdb46a1
      
https://github.com/Perl/perl5/commit/63f6281f137042ea04dfa37e65f619785fdb46a1
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Macroize common expression

This is in preparation for a future commit where the expression will
change, and this way, we can explain it in one place


  Commit: a1d81ab2f64cd94c0b3217397cffb86d60833c89
      
https://github.com/Perl/perl5/commit/a1d81ab2f64cd94c0b3217397cffb86d60833c89
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_oct_bin_hex: Change OR to addition

Currently an OR is all that is needed as a shift is used to make space
for the next digit.  But a future commit will change that so that we
will need to add the new digit, not just OR it


  Commit: c625d4402d93dc883784d8369c291d1a47d678a8
      
https://github.com/Perl/perl5/commit/c625d4402d93dc883784d8369c291d1a47d678a8
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  shift1,2


  Commit: 7f93a9a38109ee2cdf42ca9229960fc0b832f985
      
https://github.com/Perl/perl5/commit/7f93a9a38109ee2cdf42ca9229960fc0b832f985
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Move declaration

A future commit will want it earlier


  Commit: 26a69b88c21e9437d51f34af0ea3b558eac0dc3a
      
https://github.com/Perl/perl5/commit/26a69b88c21e9437d51f34af0ea3b558eac0dc3a
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Save expression in a variable

The next commit will reference this in multiple places


  Commit: 6a177879f1e181ce3c93c55fdcc588194e515c83
      
https://github.com/Perl/perl5/commit/6a177879f1e181ce3c93c55fdcc588194e515c83
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_bin_oct_hex: Also accept decimal


  Commit: ac3c225c53dc76122e24a43821ed503809ff931c
      
https://github.com/Perl/perl5/commit/ac3c225c53dc76122e24a43821ed503809ff931c
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  use-decimal


  Commit: d76a59e1ef7199d8c2c87a92597b6d2dcd4bdf04
      
https://github.com/Perl/perl5/commit/d76a59e1ef7199d8c2c87a92597b6d2dcd4bdf04
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  Rename grok_bin_oct_hex()

It now also accepts decimal, so that name no longer is appropriate.
grok_uint_by_base() is what I chose.


  Commit: d6d07bc0c3495fd6d27afffddc4606bcc02d4d6c
      
https://github.com/Perl/perl5/commit/d6d07bc0c3495fd6d27afffddc4606bcc02d4d6c
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  XXX fnc changed earlier grok_uint_by_base: Change name of formal parameter

The new name is clearer that this is passed to a function to look
something up.


  Commit: 794d17d4da1adc34f54ee3e6e0c49234dbc6909d
      
https://github.com/Perl/perl5/commit/794d17d4da1adc34f54ee3e6e0c49234dbc6909d
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Combine an if with its else

By changing the conditional, the two branches can be combined to avoid
some duplication.


  Commit: fd0431973f389d56a59bf2657dd3aded79d0da96
      
https://github.com/Perl/perl5/commit/fd0431973f389d56a59bf2657dd3aded79d0da96
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Clean up loop some

As the comments say, this loop is "wonky".  But it doesn't have to be as
wonky as it is.  This commit reverses the meaning of some conditionals
so that when true they exit the loop.  And this allows the removal of a
'break' just at the end of the loop scope, making the loop much more
conventional.

In reversing the meaning, I split some off into more conditionals.  This
makes it easier to understand, and prepares for a future commit.


  Commit: 2c298d9bbd4eff08a761f0c9d744b5691df082f5
      
https://github.com/Perl/perl5/commit/2c298d9bbd4eff08a761f0c9d744b5691df082f5
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Move declaration until needed

This code may not need to get executed; so move it until it is needed.


  Commit: 8600e9cf5c33ce038b8721ea3ef82981842407a2
      
https://github.com/Perl/perl5/commit/8600e9cf5c33ce038b8721ea3ef82981842407a2
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Optimize for more likely case

This changes the code to prefer the case where the input is a string
without underscores that contains 8 or fewer digits in the given base.
Doing so eliminates two conditionals from what I think is what the vast
majority of calls to this function look like.

This is accomplished in this commit by making the default: case for at
least 9 digits and adds a case: for 8.  There is no need for anything
then but to return for any string 8 or fewer digit characters long.

The default does try to handle leading zeros efficiently by having a
tight loop to strip them off.


  Commit: a4c63ff56030a5d97865efd014e61e216ae281aa
      
https://github.com/Perl/perl5/commit/a4c63ff56030a5d97865efd014e61e216ae281aa
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Round discarded digits

When remaining digits are discarded instead of overflowing, this commit
causes the returned non-overflowed value to be rounded (towards even)
instead of truncated.

This will be useful when future commits cause this function to be called
to convert a string of numbers following a decimal point.  Instead of
truncating the final significant value, it will be rounded.


  Commit: 0870a9f212fbbcda56ddcb173ccce671ba030ce5
      
https://github.com/Perl/perl5/commit/0870a9f212fbbcda56ddcb173ccce671ba030ce5
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  XXX grok_uint_by_base: Outdent lines


  Commit: 97cf71e197ccc027d4add3d749a10ce2218e5478
      
https://github.com/Perl/perl5/commit/97cf71e197ccc027d4add3d749a10ce2218e5478
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M inline.h
    M numeric.c

  Log Message:
  -----------
  grok_uint_by_base: Allow sequential underscores

For one future use of this function, multiple consecutive underscores
are tolerated.  This prepares this function for this use.


  Commit: 9c37b7083b6a0694f4e72e28173113489824e2a3
      
https://github.com/Perl/perl5/commit/9c37b7083b6a0694f4e72e28173113489824e2a3
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  grok_uint_by_base: Allow caller to specify overflow bits

Usually this will be UV_BITS to allow something up to UV_MAX, but a
future use will want this to be able to be smaller


  Commit: 2f0a21dcb50ed3a708fbbcf3ae4e67dfa84dc68f
      
https://github.com/Perl/perl5/commit/2f0a21dcb50ed3a708fbbcf3ae4e67dfa84dc68f
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  pod


  Commit: ee788aa702dec627374585fe693264f49ac711d2
      
https://github.com/Perl/perl5/commit/ee788aa702dec627374585fe693264f49ac711d2
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M inline.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  digit-count


  Commit: 3c25553c071e52236752c215129f0906b3658504
      
https://github.com/Perl/perl5/commit/3c25553c071e52236752c215129f0906b3658504
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  XXX unsure LIKELY


  Commit: 4cf2f814af461900f37a801a53a66c1a77ac36b2
      
https://github.com/Perl/perl5/commit/4cf2f814af461900f37a801a53a66c1a77ac36b2
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c
    M perl.h

  Log Message:
  -----------
  notes


  Commit: e10c82ae9208780331f7c0c00485fd7f54e8dd4a
      
https://github.com/Perl/perl5/commit/e10c82ae9208780331f7c0c00485fd7f54e8dd4a
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M numeric.c
    M proto.h

  Log Message:
  -----------
  uintmax_t


  Commit: aee7b559bc5cb0749b7a157a8091bc0c2a7d7ef1
      
https://github.com/Perl/perl5/commit/aee7b559bc5cb0749b7a157a8091bc0c2a7d7ef1
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  toke.c: scan_num: %c format to print a non digit byte

This panic croak was wrong, should it ever get executed.  Any byte that
reaches it isn't a digit, so %d would give wrong results.


  Commit: 6c7767e26faa9e89a49049775b20ff117be2db95
      
https://github.com/Perl/perl5/commit/6c7767e26faa9e89a49049775b20ff117be2db95
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Reformat/fix comments

These comments that gave complicated regex patterns that show the syntax
of the various types of numerical constants recognized by this function
had some oversights in them, and were hard to read.


  Commit: 0e377d98b2c03a48dbd7ba60d5ba4ce68b63ec6b
      
https://github.com/Perl/perl5/commit/0e377d98b2c03a48dbd7ba60d5ba4ce68b63ec6b
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Reorder case: statements in switch()

Move the default to the end, and the shortest to the beginning.  This is
in preparation for future commits.


  Commit: 95668c87e9c5bdebd9ecd11362fced4439e2df12
      
https://github.com/Perl/perl5/commit/95668c87e9c5bdebd9ecd11362fced4439e2df12
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Convert switch() to elsif series

By using isDIGIT(), the cases for individual digits 1-9 collapse into a
single one, leaving just three possibilities, which are more clearly
handled by an if and two 'else if's


  Commit: 02f446f25ef4c08852020268439d951b5690103a
      
https://github.com/Perl/perl5/commit/02f446f25ef4c08852020268439d951b5690103a
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: indentation, reorder-comments only

Some blocks have been removed, so can outdent; others will be added in
future commits, so indent.


  Commit: d376d2e4e87f57b05de5573613f9a9cb037e2346
      
https://github.com/Perl/perl5/commit/d376d2e4e87f57b05de5573613f9a9cb037e2346
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  toke.c: Convert do/while to modern STMT_START/END


  Commit: e3bff16824dd5dbcc1bd464dd859d76300142705
      
https://github.com/Perl/perl5/commit/e3bff16824dd5dbcc1bd464dd859d76300142705
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M embed.h
    M numeric.c
    M proto.h

  Log Message:
  -----------
  numeric.c: Make output_nonportable() callable from core

Instead of being internal to this file.


  Commit: c79459e9eb5c72b2ed17c8f9be461bcc4a917212
      
https://github.com/Perl/perl5/commit/c79459e9eb5c72b2ed17c8f9be461bcc4a917212
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Replace code by equivalent function call

The previous commit has made this function, long in numeric.c,
available to the rest of core.  The code here removed duplicated what it
does.  Two variables are now unused, and are removed.


  Commit: eb8e56b9d855060356963e82089844afb5e65b87
      
https://github.com/Perl/perl5/commit/eb8e56b9d855060356963e82089844afb5e65b87
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Macroize common code

This avoids repeating code snippets


  Commit: 0b547afb5e35c1880abc1b3cea4aff1516fd741d
      
https://github.com/Perl/perl5/commit/0b547afb5e35c1880abc1b3cea4aff1516fd741d
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Remove now irrelevant code

The previous commit created macros to handle underscores in a numeric
constant.  They changed things so adjacent underscores are all absorbed
at once (and warned about).  That means we no longer have to keep track
of if the previous character was an underscore.


  Commit: 8a1d85eab2e555e4ed5699b0e177a67523f58620
      
https://github.com/Perl/perl5/commit/8a1d85eab2e555e4ed5699b0e177a67523f58620
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Remove duplicated logic

The previous commit enhanced grok_bin_oct_hex to handle multiple
consecutive underscores, which is all that was missing for this code to
be able to call it instead of doing the same task itself.

This saves quite a bit of code


  Commit: 50836729e4e6d070ba0729d16d4cb48d41d1ad87
      
https://github.com/Perl/perl5/commit/50836729e4e6d070ba0729d16d4cb48d41d1ad87
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  scan_num: Extract common code to a single place


  Commit: 2fe9323b032fbc28e3f03ee6dc4c926dd6fc99ca
      
https://github.com/Perl/perl5/commit/2fe9323b032fbc28e3f03ee6dc4c926dd6fc99ca
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  DEBUG


  Commit: 0a4fc0b11e375565fae8d07605b5be5124dc8958
      
https://github.com/Perl/perl5/commit/0a4fc0b11e375565fae8d07605b5be5124dc8958
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  XXX Make nonportable a switch


  Commit: 7b4f2c8c0daab6ada1dca83f1c6db3a8b9be794d
      
https://github.com/Perl/perl5/commit/7b4f2c8c0daab6ada1dca83f1c6db3a8b9be794d
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M numeric.c

  Log Message:
  -----------
  white after grok_num


  Commit: 492fc7dfcd28d74f7a878ace83ef3c89479b332d
      
https://github.com/Perl/perl5/commit/492fc7dfcd28d74f7a878ace83ef3c89479b332d
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M toke.c

  Log Message:
  -----------
  frac


  Commit: c9a5117dbd7206555005f7a9907a0e9341409c3f
      
https://github.com/Perl/perl5/commit/c9a5117dbd7206555005f7a9907a0e9341409c3f
  Author: Karl Williamson <[email protected]>
  Date:   2025-12-07 (Sun, 07 Dec 2025)

  Changed paths:
    M embed.fnc
    M handy.h
    M inline.h
    M numeric.c
    M pod/perldiag.pod
    M proto.h
    M t/op/hexfp.t
    M t/op/oct.t
    M toke.c

  Log Message:
  -----------
  trial


Compare: https://github.com/Perl/perl5/compare/72f140eed6b8%5E...c9a5117dbd72

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to