[Perl/perl5] 880fb5: Perl_sync_locale(): Best to change to global locale

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 880fb5d0fef86206e1a80b084b3f9bd385f496b4
  
https://github.com/Perl/perl5/commit/880fb5d0fef86206e1a80b084b3f9bd385f496b4
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  Perl_sync_locale(): Best to change to global locale

This didn't actually cause a bug AFAIK, but prior to this commit, the
comment was wrong.  The comment makes sense, so bring the code into
compliance.

The reason it was not a bug is that even though the thread remained in
the per-thread locale, it uses the global locale API to set things.


  Commit: 943e7d68735c5309a7813b75805d819fa3e4332a
  
https://github.com/Perl/perl5/commit/943e7d68735c5309a7813b75805d819fa3e4332a
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c(): Use LC_ALL if available

Now that we have code that works on platforms with differing ways of
representing LC_ALL, we can use it instead of looping through all the
subcomponents.


  Commit: 22a00d7e56c86c42c8adc23415f09d82ef1e78f2
  
https://github.com/Perl/perl5/commit/22a00d7e56c86c42c8adc23415f09d82ef1e78f2
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

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

  Log Message:
  ---
  locale.c: Extract code into a function

This is in preparation for a future commit where it will be called from
more than one place.


  Commit: f00067d75aebd7b04668c2f5c81d4e6a6e13ea33
  
https://github.com/Perl/perl5/commit/f00067d75aebd7b04668c2f5c81d4e6a6e13ea33
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Complement initialization of boolean

This was my attempt to make the difference listing in the next commit
smaller, but it didn't help much.


  Commit: f0578dea2221b23824ec44cb18f024cffc2f9069
  
https://github.com/Perl/perl5/commit/f0578dea2221b23824ec44cb18f024cffc2f9069
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Rework locale initialization loop

The previous code was always hard to understand, with a self-modifying
loop.  I finally figured out a clearer way to do it, by using an enum
with all the possibilities, and a switch statement that sets up the loop
for each, or decides this possibility isn't valid on this platform.  The
first possibility that works exits the loop.


  Commit: 9d4fc752d13aaa56b702ba02a24c98f7cd7b9ebb
  
https://github.com/Perl/perl5/commit/9d4fc752d13aaa56b702ba02a24c98f7cd7b9ebb
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Rmv redundant sanity check

This was done only on Windows, to verify that the perl was operating on
a system that has a working _configthreadlocale(), when our Configure
expects it to.  But the previous commit now executes this function
anyway at the end of initialization, so that is soon enough to fail if
something is wrong, making this redundant.


  Commit: cfecf45fbc339cd5bed863522d9c9bec79ee891c
  
https://github.com/Perl/perl5/commit/cfecf45fbc339cd5bed863522d9c9bec79ee891c
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Extract code into a macro

This is in preparation for a simplification in future commits.


  Commit: 2be22a462159b353cdc73adf6e835d1c907ff497
  
https://github.com/Perl/perl5/commit/2be22a462159b353cdc73adf6e835d1c907ff497
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Extend macro from previous commit

Actually this creates a macro of the same name that accomplishes the
same thing, but specifically for Windows.


  Commit: ae9b121147c8cdb1c8f13f8fe8082e5fd3f8be6a
  
https://github.com/Perl/perl5/commit/ae9b121147c8cdb1c8f13f8fe8082e5fd3f8be6a
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Don't over allocate array

This previously added an extraneous unused element.


  Commit: 8f93193ec08d59523a1f29dcd9ae2629077388af
  
https://github.com/Perl/perl5/commit/8f93193ec08d59523a1f29dcd9ae2629077388af
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Bring declaration inside #if's

This would now cause a compilation error if the code gets screwed up.


  Commit: 43957f3fc3d72b85b084f270433f608619443081
  
https://github.com/Perl/perl5/commit/43957f3fc3d72b85b084f270433f608619443081
  Author: Karl Williamson 
  Date:   

[Perl/perl5] 96c520: locale.c: Don't compile unreachable code

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 96c520ef45c30a6b3a4d3bbeeb51e4ce70361f99
  
https://github.com/Perl/perl5/commit/96c520ef45c30a6b3a4d3bbeeb51e4ce70361f99
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: Don't compile unreachable code

This code is attempting to compute the nl_langinfo() codeset of the
current locale.  If there is no LC_CTYPE available on the system, the
codeset must be 'C', and the only callers to this static function know
that, and return that answer without calling this function.  That means
this part of the function will never be executed.  So don't compile it.




[Perl/perl5] 122f4d: strftime: Always restore LC_CTYPE locale

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 122f4d2a7dc34f6663f58a8a7ff985cbb41421bc
  
https://github.com/Perl/perl5/commit/122f4d2a7dc34f6663f58a8a7ff985cbb41421bc
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M ext/POSIX/t/time.t
M locale.c

  Log Message:
  ---
  strftime: Always restore LC_CTYPE locale

my_strftime toggles LC_CTYPE to match LC_TIME to avoid mojibake.

In reading the code, I realized that there was a code path that doesn't
properly restore it, namely when failure is returned.  This commit fixes
that.

A test is added, but is TODO until future commits fix other things.




[Perl/perl5] aff4cc: S_get_locale_string_utf8ness_i: Fix return

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: aff4cc346539541b9d8ceda1dfea796bc9c74887
  
https://github.com/Perl/perl5/commit/aff4cc346539541b9d8ceda1dfea796bc9c74887
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M locale.c

  Log Message:
  ---
  S_get_locale_string_utf8ness_i: Fix return

If the input is NULL, the utf8ness of the string isn't NO, but actually,
IMMATERIAL, as there is nothing there that matters




[Perl/perl5] b29c60: Perl_force_locale_unlock: Add pTHX parameter

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b29c60556393dde0ea752ff9f037760fcd530289
  
https://github.com/Perl/perl5/commit/b29c60556393dde0ea752ff9f037760fcd530289
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

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

  Log Message:
  ---
  Perl_force_locale_unlock: Add pTHX parameter

This replaces a dTHX inside the function, which is usable only by the
perl core on platforms that allow hiding functions from external code.
Thus this change should not break any applications.




[Perl/perl5] 81d9b3: locale.c: S_save_to_buffer: Add pTHX parameter

2023-08-13 Thread Karl Williamson via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 81d9b3207b262c36910e83706fd1013947a578c4
  
https://github.com/Perl/perl5/commit/81d9b3207b262c36910e83706fd1013947a578c4
  Author: Karl Williamson 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

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

  Log Message:
  ---
  locale.c: S_save_to_buffer: Add pTHX parameter

This saves doing dTHX inside the function




[Perl/perl5] f101fe: perldelta for bcd084d7d8281

2023-08-13 Thread Tony Cook via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f101feb3f0ff69bab1135dfaee41a1cbb1550e10
  
https://github.com/Perl/perl5/commit/f101feb3f0ff69bab1135dfaee41a1cbb1550e10
  Author: Tony Cook 
  Date:   2023-08-14 (Mon, 14 Aug 2023)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for bcd084d7d8281




[Perl/perl5] bcd084: class :isa(): check for not only a stash, but a class

2023-08-13 Thread Tony Cook via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: bcd084d7d82813d8058dd52097a42fb8890939b0
  
https://github.com/Perl/perl5/commit/bcd084d7d82813d8058dd52097a42fb8890939b0
  Author: Tony Cook 
  Date:   2023-08-14 (Mon, 14 Aug 2023)

  Changed paths:
M MANIFEST
M class.c
M t/class/inherit.t
A t/lib/class/A.pm
A t/lib/class/A/B.pm

  Log Message:
  ---
  class :isa(): check for not only a stash, but a class

If class Foo::Bar exists then the Foo stash exists, so checking
for that when Foo is the requested base class is meaningless.

Instead try to load the base class if it is not known as a class, not
just if it's not a stash, just as we do immediately following.

Fixes #21332




[Perl/perl5] 81a3a7: Remove CUSTOMIZED status for cpan/Test-Harness/t/h...

2023-08-13 Thread Leon Timmermans via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 81a3a738c7dcfbed88aa3490214043cee1c1d7f1
  
https://github.com/Perl/perl5/commit/81a3a738c7dcfbed88aa3490214043cee1c1d7f1
  Author: James E Keenan 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M Porting/Maintainers.pl

  Log Message:
  ---
  Remove CUSTOMIZED status for cpan/Test-Harness/t/harness.t

As discussed in https://github.com/Perl/perl5/issues/21368, needed so
that we can sync Test-Harness-2.46 into blead.


  Commit: 6e0b8bd69336ecc95a6ca480c4b2ab58c0080bc2
  
https://github.com/Perl/perl5/commit/6e0b8bd69336ecc95a6ca480c4b2ab58c0080bc2
  Author: Leon Timmermans 
  Date:   2023-08-13 (Sun, 13 Aug 2023)

  Changed paths:
M MANIFEST
M Porting/Maintainers.pl
M cpan/Test-Harness/bin/prove
M cpan/Test-Harness/lib/App/Prove.pm
M cpan/Test-Harness/lib/App/Prove/State.pm
M cpan/Test-Harness/lib/App/Prove/State/Result.pm
M cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
M cpan/Test-Harness/lib/TAP/Base.pm
M cpan/Test-Harness/lib/TAP/Formatter/Base.pm
M cpan/Test-Harness/lib/TAP/Formatter/Color.pm
M cpan/Test-Harness/lib/TAP/Formatter/Console.pm
M cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
M cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
M cpan/Test-Harness/lib/TAP/Formatter/File.pm
M cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
M cpan/Test-Harness/lib/TAP/Formatter/Session.pm
M cpan/Test-Harness/lib/TAP/Harness.pm
M cpan/Test-Harness/lib/TAP/Harness/Env.pm
M cpan/Test-Harness/lib/TAP/Object.pm
M cpan/Test-Harness/lib/TAP/Parser.pm
M cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
M cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
M cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
M cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
M cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
M cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
M cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
M cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
M cpan/Test-Harness/lib/TAP/Parser/Result.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
M cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
M cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
M cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
M cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
M cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
M cpan/Test-Harness/lib/TAP/Parser/Source.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
M cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
M cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
M cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
M cpan/Test-Harness/lib/Test/Harness.pm
M cpan/Test-Harness/t/file.t
M cpan/Test-Harness/t/harness-bailout.t
M cpan/Test-Harness/t/harness.t
M cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
M cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
M cpan/Test-Harness/t/prove.t
M cpan/Test-Harness/t/source.t
M cpan/Test-Harness/t/source_handler.t

  Log Message:
  ---
  cpan/Test-Harness - Update to version 3.46

3.46  2023-07-30
- Color the "ok"s as well.
- Skip symlink tests on msys2
- Use use absolute path for executable tests
- Space-quote executable if has spaces
- Avoid using Errno::EINTR directly for platforms without it
- stop calling import on App::Prove plugins


Compare: https://github.com/Perl/perl5/compare/e621bd319842...6e0b8bd69336