[Perl/perl5] 7c1600: testsuite.yml: manually download and extract mingw

2023-07-18 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7c1600f08167a99af2b98ebb9b3230080a59d563
  
https://github.com/Perl/perl5/commit/7c1600f08167a99af2b98ebb9b3230080a59d563
  Author: Tomasz Konojacki 
  Date:   2023-07-18 (Tue, 18 Jul 2023)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  testsuite.yml: manually download and extract mingw

This is much faster than the "setup-mingw" GitHub action (~1 min vs
~6min). It's also more flexible, we can easily switch to a different
mingw build.




[Perl/perl5] 862da5: XSUB.h: remove setjmp and longjmp overrides

2023-07-10 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 862da591b9e2ff68b8bc9c27700ebd7e19b7b9c5
  
https://github.com/Perl/perl5/commit/862da591b9e2ff68b8bc9c27700ebd7e19b7b9c5
  Author: Tomasz Konojacki 
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
M XSUB.h
M dist/threads/lib/threads.pm
M dist/threads/threads.xs

  Log Message:
  ---
  XSUB.h: remove setjmp and longjmp overrides

Those redefinitions are in effect only when PERL_IMPLICIT_SYS is defined
(pretty much only on Windows) and they're broken (circular) when
HAS_SIGSETJMP isn't defined (e.g. on Windows). Also, even if they
weren't broken, they don't provide any value.

The workaround in threads.xs for this issue is still needed, because
it's a dual-life module and it's supposed to work on older Perls.
However, it can be simplified by defining NO_XSLOCKS to suppress the
redefinitions.

Fixes #21039




[Perl/perl5] 149c2e: win32.c: remove the CloseHandle hook when Perl is ...

2023-06-30 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 149c2e48b61bd93a9e4ee06b920ca68dd97b717c
  
https://github.com/Perl/perl5/commit/149c2e48b61bd93a9e4ee06b920ca68dd97b717c
  Author: Tomasz Konojacki 
  Date:   2023-06-30 (Fri, 30 Jun 2023)

  Changed paths:
M win32/win32.c

  Log Message:
  ---
  win32.c: remove the CloseHandle hook when Perl is terminated

In some embedded Perl scenarios, such as mod_perl, the Perl DLL
may be unloaded, causing the hook to become invalid.

Fixes: #21179




[Perl/perl5] 567777: perlclass.pod: feature "class" will be introduced ...

2023-06-24 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 566364861296d7d8bf264cf1645734f90064
  
https://github.com/Perl/perl5/commit/566364861296d7d8bf264cf1645734f90064
  Author: Tomasz Konojacki 
  Date:   2023-06-24 (Sat, 24 Jun 2023)

  Changed paths:
M pod/perlclass.pod

  Log Message:
  ---
  perlclass.pod: feature "class" will be introduced in Perl 5.38

Fixes #21171




[Perl/perl5] 485573: regen/embed.pl: don't hide mathoms

2023-04-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 4855731ade5c0ba97fa916c054c6c71bf7b05950
  
https://github.com/Perl/perl5/commit/4855731ade5c0ba97fa916c054c6c71bf7b05950
  Author: Tomasz Konojacki 
  Date:   2023-04-19 (Wed, 19 Apr 2023)

  Changed paths:
M proto.h
M regen/embed.pl

  Log Message:
  ---
  regen/embed.pl: don't hide mathoms

makedef.pl exports them unconditionally and embed.pl should use the same
logic.




[Perl/perl5] 8a548d: win32: initialise winsock unconditionally

2023-03-17 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8a548d15292f2166cb07a69fc5fc943391b7fba5
  
https://github.com/Perl/perl5/commit/8a548d15292f2166cb07a69fc5fc943391b7fba5
  Author: Tomasz Konojacki 
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
M win32/win32.c
M win32/win32.h
M win32/win32sck.c

  Log Message:
  ---
  win32: initialise winsock unconditionally

The next commit needs it. Also, I don't think this optimisation is worth
the trouble.


  Commit: 8552f09f5cfe61a536a65f11290ef026f7aa0356
  
https://github.com/Perl/perl5/commit/8552f09f5cfe61a536a65f11290ef026f7aa0356
  Author: Tomasz Konojacki 
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
M pod/perldelta.pod
M win32/win32.c
M win32/win32.h
M win32/win32sck.c

  Log Message:
  ---
  win32: inject a socket-aware version of CloseHandle() into the CRT

_close() on an fd calls CloseHandle(), which is illegal if the fd
contains a socket handle.

We previously worked around this by having our own close(), which called
closesocket() before calling _close()
(e601c439adce167078ac7b49550c0418ace86f94).

Amusingly, the author of that solution thought it's just a temporary
workaround:

  /*
   * close RTL fd while respecting sockets
   * added as temporary measure until PerlIO has real
   * Win32 native layer
   *   -- BKS, 11-11-2000
   */

To make it thread-safe, we had to manipulate the internals of file
descriptors, which kept changing
(b47a847f6284f6f98ad7509cf77a4aeb802d8fce).

Unfortunately, the C runtime has been rewritten and it no longer exposes
them at all. We had to disable the thread-safety fix in Visual C++ 2015
builds (1f664ef5314fb6e438137c44c95cf5ecdbdb5e9b). It also wouldn't work
with MinGW configured to use UCRT.

This commit introduces a new solution: we inject a socket-aware version
of CloseHandle() into the C runtime library. Hopefully, this will be
less fragile.

This also fixes a few issues that the original solution didn't:

  - Closing a busy pipe doesn't cause a deadlock (fixes #19963)

  - _dup2 properly closes an overwritten socket (fixes #20920)


Compare: https://github.com/Perl/perl5/compare/c1cac033a542...8552f09f5cfe


[Perl/perl5] 3475eb: sv.c: fix compilation with g++ <= 7

2023-02-12 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3475eb469dc997fee540f7af34dc2e178fd5a184
  
https://github.com/Perl/perl5/commit/3475eb469dc997fee540f7af34dc2e178fd5a184
  Author: Tomasz Konojacki 
  Date:   2023-02-12 (Sun, 12 Feb 2023)

  Changed paths:
M sv.c

  Log Message:
  ---
  sv.c: fix compilation with g++ <= 7

This compiler predates the addition of designated initializers to the
C++ standard, so it's not surprising its implementation isn't fully
compliant.

Omitting a field in a designated initializer list causes the following
error:

sv.c: In function ‘void Perl_sv_upgrade(SV*, svtype)’:
sv.c:1088:13: sorry, unimplemented: non-trivial designated initializers
not supported




[Perl/perl5] bded97: win32: Remove trailing backslash from `INST_TOP`

2022-08-22 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: bded974f30650c2002b7abfdf831ecbfac81
  
https://github.com/Perl/perl5/commit/bded974f30650c2002b7abfdf831ecbfac81
  Author: Bram 
  Date:   2022-08-22 (Mon, 22 Aug 2022)

  Changed paths:
M win32/GNUmakefile

  Log Message:
  ---
  win32: Remove trailing backslash from `INST_TOP`

When `INST_TOP` contains a trailing backslash then things go horribly wrong.

Example (output slightly altered for readability):

C:\...> gmake INST_TOP=C:\Perl\blead\perl\
...
..\miniperl.exe -I..\lib config_sh.PL
"INST_TOP=C:\Perl\blead\perl\"
"INST_VER="
"INST_ARCH="
"archname=MSWin32-x64-multi-thread"
"cc=gcc"
"ld=g++"
"ccflags= -DWIN32 -DWIN64 "
...
Use of uninitialized value $opt{"static_ext"} in split at config_sh.PL 
line 57.
...
Can't open -DWIN32: No such file or directory at config_sh.PL line 335.
...

..\miniperl.exe -I..\lib ..\configpm --chdir=..
Use of uninitialized value $t in string eq at ..\configpm line 345.
...
written lib/Config.pod
syntax error at lib/Config_heavy.pl line 165, near "x;"
Compilation failed in require at ..\configpm line 1144.
gmake: *** [GNUmakefile:1195: ..\lib\Config.pm] Error 255

-> The trailing backslash in 'INST_TOP' caused the double quote (in
   `miniperl.exe config_sh.PL`) to be escaped which messes up the
   rest of the arguments/the argument parsing leading to the errors.

Avoid the errors by removing the trailing backslash.

(Tested on Windows 10 with GNU Make v4.2.1)




[Perl/perl5] f7e7b4: win32.c: use _mkgmtime() instead of mktime() in st...

2022-08-08 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f7e7b4d5e7c86d3d5df8a744581a7f7390fc64ce
  
https://github.com/Perl/perl5/commit/f7e7b4d5e7c86d3d5df8a744581a7f7390fc64ce
  Author: Tomasz Konojacki 
  Date:   2022-08-09 (Tue, 09 Aug 2022)

  Changed paths:
M pod/perldelta.pod
M win32/win32.c

  Log Message:
  ---
  win32.c: use _mkgmtime() instead of mktime() in stat()

Conversion to local time seems unnecessary and it apparently causes
issues with DST.

Fixes #20018, #20061




[Perl/perl5] f6f28a: Ed Sabol is now a Perl author

2022-06-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f6f28a81d64fd1d1e8b067049b4f456c369688b2
  
https://github.com/Perl/perl5/commit/f6f28a81d64fd1d1e8b067049b4f456c369688b2
  Author: Tomasz Konojacki 
  Date:   2022-06-19 (Sun, 19 Jun 2022)

  Changed paths:
M AUTHORS

  Log Message:
  ---
  Ed Sabol is now a Perl author




[Perl/perl5] 2287d3: t/porting/libperl.t: don't check for non-public sy...

2022-06-17 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 2287d33092e0f6594e38c269503627308460e02e
  
https://github.com/Perl/perl5/commit/2287d33092e0f6594e38c269503627308460e02e
  Author: Tomasz Konojacki 
  Date:   2022-06-18 (Sat, 18 Jun 2022)

  Changed paths:
M t/porting/libperl.t

  Log Message:
  ---
  t/porting/libperl.t: don't check for non-public symbols

Both Perl_peep and Perl_pp_uc are private. Check for Perl_croak instead;
it's a part of the public API.


  Commit: 0351a629e71de127cbfd1b142e9eaa6069deabf5
  
https://github.com/Perl/perl5/commit/0351a629e71de127cbfd1b142e9eaa6069deabf5
  Author: Tomasz Konojacki 
  Date:   2022-06-18 (Sat, 18 Jun 2022)

  Changed paths:
M Configure
M Cross/config.sh-arm-linux
M Cross/config.sh-arm-linux-n770
M Porting/config.sh
M config_h.SH
M configure.com
M perl.h
M plan9/config_sh.sample
M pod/perldelta.pod
M pp_proto.h
M proto.h
M regen/embed.pl
M regen/opcode.pl
M uconfig.h
M uconfig.sh
M uconfig64.sh
M win32/config.gc
M win32/config.vc

  Log Message:
  ---
  hide private functions with __attribute__((visibility("hidden")))

This allows us to enforce API boundaries and potentially enables
compiler optimisations.

We've been always hiding non-public symbols on Windows. This commit
brings that to the other platforms.


Compare: https://github.com/Perl/perl5/compare/491d7f25f50e...0351a629e71d


[Perl/perl5] 2e2065: probe for setenv in Configure

2022-05-28 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 2e2065489c88c6bfe07d822175cfdefdb707db11
  
https://github.com/Perl/perl5/commit/2e2065489c88c6bfe07d822175cfdefdb707db11
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M Configure
M Cross/config.sh-arm-linux
M Cross/config.sh-arm-linux-n770
M Porting/config.sh
M config_h.SH
M plan9/config_sh.sample
M uconfig.h
M uconfig.sh
M uconfig64.sh
M util.c
M win32/config.gc
M win32/config.vc

  Log Message:
  ---
  probe for setenv in Configure


  Commit: f28aedcca64b6836fe9dabae86692e64f4563c45
  
https://github.com/Perl/perl5/commit/f28aedcca64b6836fe9dabae86692e64f4563c45
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M util.c

  Log Message:
  ---
  util.c: small refactoring of my_setenv and my_clearenv

- Early return is much better than wrapping the whole function with if().

- Remove pointless (void) casts.

- Move variable declarations closer to their first use.

- Normalize indentation.


  Commit: bc2b0ccc2d30488430af12a5fdc5b2ada39142c1
  
https://github.com/Perl/perl5/commit/bc2b0ccc2d30488430af12a5fdc5b2ada39142c1
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M util.c

  Log Message:
  ---
  util.c: POSIX doesn't allow calling setenv() with a NULL value


  Commit: b95d23342a119c6677aa5ad786ca7d002c98bef2
  
https://github.com/Perl/perl5/commit/b95d23342a119c6677aa5ad786ca7d002c98bef2
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M perl.c
M perlvars.h

  Log Message:
  ---
  perl.c: duplicate environ when PERL_USE_SAFE_PUTENV is defined

This allows us to overwrite the original environ when $0 is being set,
which means that enabling PERL_USE_SAFE_PUTENV will no longer decrease
the maximum length of $0 on some platforms.


  Commit: ae6b6b71cdbfb3fb6e1192178fa1e530a2f07ece
  
https://github.com/Perl/perl5/commit/ae6b6b71cdbfb3fb6e1192178fa1e530a2f07ece
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M INSTALL
M Makefile.micro
M ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
M hints/cygwin.sh
M hints/darwin.sh
M hints/os390.sh
M hints/riscos.sh
M hints/solaris_2.sh
M makedef.pl
M miniperlmain.c
M perl.c
M perl.h
M perl_inc_macro.h
M perlvars.h
M pod/perldelta.pod
M util.c

  Log Message:
  ---
  make PERL_USE_SAFE_PUTENV the default and the only option

Now environ isn't owned by Perl and calling setenv/putenv in XS code
will no longer result in memory corruption.

Fixes #19399


  Commit: 30ceec5d3541f1a6bfb65df6b99339bee9976d79
  
https://github.com/Perl/perl5/commit/30ceec5d3541f1a6bfb65df6b99339bee9976d79
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M dosish.h
M perl.c

  Log Message:
  ---
  don't use environ on Windows

environ is managed by the C runtime, while we are using the system APIs
directly.


  Commit: 471430840e1f4a41f79744508c22d7569e6ed3f8
  
https://github.com/Perl/perl5/commit/471430840e1f4a41f79744508c22d7569e6ed3f8
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M util.c

  Log Message:
  ---
  util.c: merge the win32 and non-win32 implementations of my_setenv


  Commit: 66673af5955ecc69305b0baad0a8fb6162312409
  
https://github.com/Perl/perl5/commit/66673af5955ecc69305b0baad0a8fb6162312409
  Author: Tomasz Konojacki 
  Date:   2022-05-29 (Sun, 29 May 2022)

  Changed paths:
M embedvar.h
M intrpvar.h
M perl.c
M perlvars.h
M sv.c

  Log Message:
  ---
  make PL_origenviron global

The purpose of PL_origenviron is to preserve the earliest known value
of environ, which is a global. All interpreters should share it.


Compare: https://github.com/Perl/perl5/compare/5e893970ee39...66673af5955e


[Perl/perl5] 25a3e8: perlapi: safemalloc doesn't take a pointer

2022-05-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 25a3e84cd74241d6a980e0b614d5620de58fc535
  
https://github.com/Perl/perl5/commit/25a3e84cd74241d6a980e0b614d5620de58fc535
  Author: Tomasz Konojacki 
  Date:   2022-05-19 (Thu, 19 May 2022)

  Changed paths:
M handy.h

  Log Message:
  ---
  perlapi: safemalloc doesn't take a pointer




[Perl/perl5] c372fa: perlapi: document safe(?:c|re|m)alloc

2022-05-17 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c372fad01ad7428f1574b75cfb81a596aad45953
  
https://github.com/Perl/perl5/commit/c372fad01ad7428f1574b75cfb81a596aad45953
  Author: Tomasz Konojacki 
  Date:   2022-05-17 (Tue, 17 May 2022)

  Changed paths:
M handy.h

  Log Message:
  ---
  perlapi: document safe(?:c|re|m)alloc

They're widely used on CPAN, especially safemalloc.




[Perl/perl5] 17c19a: officially support Visual C++ 2022

2022-02-26 Thread xenu via perl5-changes
  Branch: refs/heads/maint-5.34
  Home:   https://github.com/Perl/perl5
  Commit: 17c19aa296ca10b1c68a6513ff1aedb93d51f34d
  
https://github.com/Perl/perl5/commit/17c19aa296ca10b1c68a6513ff1aedb93d51f34d
  Author: Tomasz Konojacki 
  Date:   2022-02-26 (Sat, 26 Feb 2022)

  Changed paths:
M README.win32
M win32/GNUmakefile
M win32/Makefile

  Log Message:
  ---
  officially support Visual C++ 2022

No code changes are needed.

(cherry picked from commit 5e4fe29818b7855da40185d452b359f9259e66f9)




[Perl/perl5] c58eea: t/run/switches.t: don't declare a plan

2022-02-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c58eeaf60f6c5d06d95da1941e0b0b16e3025f0d
  
https://github.com/Perl/perl5/commit/c58eeaf60f6c5d06d95da1941e0b0b16e3025f0d
  Author: Tomasz Konojacki 
  Date:   2022-02-19 (Sat, 19 Feb 2022)

  Changed paths:
M t/run/switches.t

  Log Message:
  ---
  t/run/switches.t: don't declare a plan


  Commit: 9cb26ed2ae572b61849be5ef0d9e2fc19c8e49a8
  
https://github.com/Perl/perl5/commit/9cb26ed2ae572b61849be5ef0d9e2fc19c8e49a8
  Author: Tomasz Konojacki 
  Date:   2022-02-19 (Sat, 19 Feb 2022)

  Changed paths:
M perl.c
M pod/perldelta.pod
M pod/perlrun.pod
M t/run/switches.t

  Log Message:
  ---
  implement a new command-line flag, -g

It's a simpler alias for -0777. It was proposed in RFC-0011:
https://github.com/Perl/RFCs/blob/master/rfcs/rfc0011.md


Compare: https://github.com/Perl/perl5/compare/f7a090542c34...9cb26ed2ae57


[Perl/perl5] f299cc: revert to windows-2019 in GitHub Actions (for now)

2022-02-15 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f299ccd17382e0710752b2af03d9e54d9c41afd6
  
https://github.com/Perl/perl5/commit/f299ccd17382e0710752b2af03d9e54d9c41afd6
  Author: Tomasz Konojacki 
  Date:   2022-02-15 (Tue, 15 Feb 2022)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  revert to windows-2019 in GitHub Actions (for now)

It seems the changes in windows-latest (windows-2022) image broke our
builds.




[Perl/perl5] ed18bf: make autodoc.pl and makedef.pl understand the I em...

2022-02-04 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ed18bf14c1a8429f1652c50634d0648d34bcfabd
  
https://github.com/Perl/perl5/commit/ed18bf14c1a8429f1652c50634d0648d34bcfabd
  Author: Tomasz Konojacki 
  Date:   2022-02-04 (Fri, 04 Feb 2022)

  Changed paths:
M autodoc.pl
M makedef.pl

  Log Message:
  ---
  make autodoc.pl and makedef.pl understand the I embed.fnc flag

It's needed in case a publicly visible PERL_STATIC_FORCE_INLINE
function is added.




[Perl/perl5] ebfc9d: subroutine redefinitions made with local() shouldn...

2022-01-27 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ebfc9d5d0d50ffc852e4ae35a78e6a922ada8700
  
https://github.com/Perl/perl5/commit/ebfc9d5d0d50ffc852e4ae35a78e6a922ada8700
  Author: Tomasz Konojacki 
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
M pod/perldelta.pod
M sv.c
M t/lib/warnings/sv

  Log Message:
  ---
  subroutine redefinitions made with local() shouldn't warn

The following code will no longer warn:

  use warnings 'redefine';
  sub foo {}
  local *foo = sub{};

The main purpose of local() is to temporarily redefine stuff, so it
doesn't make sense to warn about it.




[Perl/perl5] aeb45f: t/porting/authors.t: Windows fixes

2022-01-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: aeb45f246f8604762b7bdc14a305e7f9b66d740a
  
https://github.com/Perl/perl5/commit/aeb45f246f8604762b7bdc14a305e7f9b66d740a
  Author: Tomasz Konojacki 
  Date:   2022-01-19 (Wed, 19 Jan 2022)

  Changed paths:
M t/porting/authors.t

  Log Message:
  ---
  t/porting/authors.t: Windows fixes

^ is a shell metacharacter in cmd.exe, so it needs to be quoted.

Also, /dev/null doesn't exist on Windows.




[Perl/perl5] 5e4fe2: officially support Visual C++ 2022

2022-01-16 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5e4fe29818b7855da40185d452b359f9259e66f9
  
https://github.com/Perl/perl5/commit/5e4fe29818b7855da40185d452b359f9259e66f9
  Author: Tomasz Konojacki 
  Date:   2022-01-16 (Sun, 16 Jan 2022)

  Changed paths:
M README.win32
M pod/perldelta.pod
M win32/GNUmakefile
M win32/Makefile

  Log Message:
  ---
  officially support Visual C++ 2022

No code changes are needed.




[Perl/perl5] a3aaec: fix struct ioinfo definition for Mingw

2021-12-16 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: a3aaec921c9b50eb220092214145c88a5ccc7980
  
https://github.com/Perl/perl5/commit/a3aaec921c9b50eb220092214145c88a5ccc7980
  Author: Tomasz Konojacki 
  Date:   2021-12-17 (Fri, 17 Dec 2021)

  Changed paths:
M win32/win32.h

  Log Message:
  ---
  fix struct ioinfo definition for Mingw

The "#ifndef _SAFECRT_IMPL" part made sense only for no longer
supported versions of Visual C++, but
92ca2349051b948d915e3fc721e3cbb97e7271e2 has accidentally exposed it
to Mingw builds.




[Perl/perl5] e1f6bd: inline.h: remove superfluous Visual C++ version ch...

2021-10-21 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e1f6bdff47d9854992351541267711595076ebe9
  
https://github.com/Perl/perl5/commit/e1f6bdff47d9854992351541267711595076ebe9
  Author: Tomasz Konojacki 
  Date:   2021-10-21 (Thu, 21 Oct 2021)

  Changed paths:
M inline.h

  Log Message:
  ---
  inline.h: remove superfluous Visual C++ version checks

We no longer support Visual C++ 2012 and older.


  Commit: a333292f05e3fc0ed682ccc8c12c33a4c9d7aafd
  
https://github.com/Perl/perl5/commit/a333292f05e3fc0ed682ccc8c12c33a4c9d7aafd
  Author: Tomasz Konojacki 
  Date:   2021-10-21 (Thu, 21 Oct 2021)

  Changed paths:
M inline.h

  Log Message:
  ---
  inline.h: _BitScanForward64 is available only on 64-bit architectures

Fixes #19205


Compare: https://github.com/Perl/perl5/compare/56077d95e0c5...a333292f05e3


[Perl/perl5] 229e23: disable LeakSanitizer in GitHub Actions

2021-10-15 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 229e23b64687900359b531b3aeaae7fa90eaca86
  
https://github.com/Perl/perl5/commit/229e23b64687900359b531b3aeaae7fa90eaca86
  Author: Tomasz Konojacki 
  Date:   2021-10-15 (Fri, 15 Oct 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  disable LeakSanitizer in GitHub Actions

It randomly fails with a fatal error for no apparent reason.

Fixes #19189


  Commit: 7ab72683be77c37dbd4c1d1194eccdc905d8ff88
  
https://github.com/Perl/perl5/commit/7ab72683be77c37dbd4c1d1194eccdc905d8ff88
  Author: Tomasz Konojacki 
  Date:   2021-10-15 (Fri, 15 Oct 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  install libgdbm and libdb in GitHub Actions

This ensures that DB_File and GDBM_File will be built and tested.


Compare: https://github.com/Perl/perl5/compare/0163c912394b...7ab72683be77


[Perl/perl5] 948aa8: Remove unused variable

2021-10-13 Thread xenu via perl5-changes
  Branch: refs/heads/smoke-me/jkeenan/gray/gdbm-crashtolerance
  Home:   https://github.com/Perl/perl5
  Commit: 948aa8986204721ea29d9aae9c15509f592d1034
  
https://github.com/Perl/perl5/commit/948aa8986204721ea29d9aae9c15509f592d1034
  Author: Sergey Poznyakoff 
  Date:   2021-10-13 (Wed, 13 Oct 2021)

  Changed paths:
M ext/GDBM_File/GDBM_File.xs

  Log Message:
  ---
  Remove unused variable

Signed-off-by: James E Keenan 


  Commit: 5aca8d60e3c086e9a59ece16344c285da44d3573
  
https://github.com/Perl/perl5/commit/5aca8d60e3c086e9a59ece16344c285da44d3573
  Author: Tomasz Konojacki 
  Date:   2021-10-13 (Wed, 13 Oct 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  install libgdbm and libdb in GitHub Actions

This ensures that DB_File and GDBM_File will be built and tested.

Signed-off-by: James E Keenan 


Compare: https://github.com/Perl/perl5/compare/b90812bf0a7a...5aca8d60e3c0


[Perl/perl5] 5fe711: win32: regen config_H.(gc|vc)

2021-09-17 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5fe711cbde7af4233fdb3a13af2208edc2096624
  
https://github.com/Perl/perl5/commit/5fe711cbde7af4233fdb3a13af2208edc2096624
  Author: Tomasz Konojacki 
  Date:   2021-09-18 (Sat, 18 Sep 2021)

  Changed paths:
M win32/config_H.gc
M win32/config_H.vc

  Log Message:
  ---
  win32: regen config_H.(gc|vc)




[Perl/perl5] 6e512b: replace all instances of PERL_IMPLICIT_CONTEXT wit...

2021-06-09 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6e512bc2beef5b8b17502db7edf50b5984776318
  
https://github.com/Perl/perl5/commit/6e512bc2beef5b8b17502db7edf50b5984776318
  Author: Tomasz Konojacki 
  Date:   2021-06-09 (Wed, 09 Jun 2021)

  Changed paths:
M NetWare/Makefile
M XSUB.h
M deb.c
M embed.fnc
M embed.h
M embedvar.h
M ext/File-Glob/Glob.pm
M ext/File-Glob/bsd_glob.c
M intrpvar.h
M makedef.pl
M malloc.c
M mathoms.c
M op.c
M perl.c
M perl.h
M perlio.c
M perlvars.h
M pod/perldelta.pod
M pod/perlembed.pod
M pod/perlguts.pod
M pod/perlinterp.pod
M proto.h
M regen/embed.pl
M sv.c
M util.c
M util.h
M vms/vms.c
M vms/vmsish.h
M win32/GNUmakefile
M win32/Makefile

  Log Message:
  ---
  replace all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITY

Since the removal of PERL_OBJECT
(acfe0abcedaf592fb4b9cb69ce3468308ae99d91) PERL_IMPLICIT_CONTEXT and
MULTIPLICITY have been synonymous and they're being used interchangeably.

To simplify the code, this commit replaces all instances of
PERL_IMPLICIT_CONTEXT with MULTIPLICITY.

PERL_IMPLICIT_CONTEXT will stay defined for compatibility with XS
modules.




[Perl/perl5] ea852e: The previous commit wasn't meant to be pushed

2021-05-29 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ea852e0ec11bf69a13d2ea959b112905b2895ab7
  
https://github.com/Perl/perl5/commit/ea852e0ec11bf69a13d2ea959b112905b2895ab7
  Author: Tomasz Konojacki 
  Date:   2021-05-30 (Sun, 30 May 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  The previous commit wasn't meant to be pushed

This reverts commit e9f285aca6c125ef50e64ed9b85265c9896b7b39.




[Perl/perl5] e9f285: ssh

2021-05-29 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e9f285aca6c125ef50e64ed9b85265c9896b7b39
  
https://github.com/Perl/perl5/commit/e9f285aca6c125ef50e64ed9b85265c9896b7b39
  Author: Tomasz Konojacki 
  Date:   2021-05-30 (Sun, 30 May 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  ssh




[Perl/perl5] 52f060: IO: implement sync() for win32

2021-05-20 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 52f06022a18bb154b7c77169e3e8bdaeee5dcdac
  
https://github.com/Perl/perl5/commit/52f06022a18bb154b7c77169e3e8bdaeee5dcdac
  Author: Tomasz Konojacki 
  Date:   2021-05-21 (Fri, 21 May 2021)

  Changed paths:
M dist/IO/IO.pm
M dist/IO/IO.xs
M dist/IO/lib/IO/Dir.pm
M dist/IO/lib/IO/File.pm
M dist/IO/lib/IO/Handle.pm
M dist/IO/lib/IO/Pipe.pm
M dist/IO/lib/IO/Poll.pm
M dist/IO/lib/IO/Seekable.pm
M dist/IO/lib/IO/Select.pm
M dist/IO/lib/IO/Socket.pm
M dist/IO/lib/IO/Socket/INET.pm
M dist/IO/lib/IO/Socket/UNIX.pm

  Log Message:
  ---
  IO: implement sync() for win32


  Commit: e9ef73dff5d02384109a08f908bbb1bbecb4427b
  
https://github.com/Perl/perl5/commit/e9ef73dff5d02384109a08f908bbb1bbecb4427b
  Author: Tomasz Konojacki 
  Date:   2021-05-21 (Fri, 21 May 2021)

  Changed paths:
M dist/IO/t/io_xs.t

  Log Message:
  ---
  IO: add a test for sync()

We already had a test which called sync(), but the new test exercises a
much more common scenario.


Compare: https://github.com/Perl/perl5/compare/77d67a71fd39...e9ef73dff5d0


[Perl/perl5] 1100ae: perldelta for dace60fbdbd315ddaeca8ff9dad1d4a672f9...

2021-04-19 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 1100ae87ab067c31751b28cd137ed01c5f5d4f36
  
https://github.com/Perl/perl5/commit/1100ae87ab067c31751b28cd137ed01c5f5d4f36
  Author: Tomasz Konojacki 
  Date:   2021-04-20 (Tue, 20 Apr 2021)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for dace60fbdbd315ddaeca8ff9dad1d4a672f95a3d




[Perl/perl5] dace60: win32.c: make reading UTF-8 characters from the co...

2021-04-13 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: dace60fbdbd315ddaeca8ff9dad1d4a672f95a3d
  
https://github.com/Perl/perl5/commit/dace60fbdbd315ddaeca8ff9dad1d4a672f95a3d
  Author: Tomasz Konojacki 
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
M win32/win32.c

  Log Message:
  ---
  win32.c: make reading UTF-8 characters from the console possible

Due to a bug in Windows, ReadFile() and ReadConsoleA() (and thus
_read()), return zeros instead of non-ASCII characters when the console
codepage is set to 65001. See this ticket for more details:
https://github.com/microsoft/terminal/issues/4551

This commit works around that bug by using ReadConsoleW() inside
win32_read() when the passed fd points to the console and the console
codepage is set to 65001.

Fixes #18701




[Perl/perl5] 97f7d7: add Михаил Козачков to AUTHORS

2021-04-12 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 97f7d7eb693413f6d78f324deabb66a311f72b66
  
https://github.com/Perl/perl5/commit/97f7d7eb693413f6d78f324deabb66a311f72b66
  Author: Tomasz Konojacki 
  Date:   2021-04-13 (Tue, 13 Apr 2021)

  Changed paths:
M AUTHORS

  Log Message:
  ---
  add Михаил Козачков to AUTHORS




[Perl/perl5] 1a98e7: perlport.pod: mention Win32::IsSymlinkCreationAllo...

2021-04-01 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 1a98e7590ddc9a54fa7d41f24fbf9cddc2c9afe2
  
https://github.com/Perl/perl5/commit/1a98e7590ddc9a54fa7d41f24fbf9cddc2c9afe2
  Author: Tomasz Konojacki 
  Date:   2021-04-01 (Thu, 01 Apr 2021)

  Changed paths:
M pod/perlport.pod

  Log Message:
  ---
  perlport.pod: mention Win32::IsSymlinkCreationAllowed()




[Perl/perl5] 6342a5: Update Win32 from version 0.56 to 0.57

2021-03-12 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6342a5df05996df376483301fe2440c8230a688d
  
https://github.com/Perl/perl5/commit/6342a5df05996df376483301fe2440c8230a688d
  Author: Tomasz Konojacki 
  Date:   2021-03-13 (Sat, 13 Mar 2021)

  Changed paths:
M cpan/Win32/Win32.pm
M cpan/Win32/Win32.xs

  Log Message:
  ---
  Update Win32 from version 0.56 to 0.57




[Perl/perl5] 8af738: testsuite.yml: set CCHOME during 'make'

2021-03-08 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8af7382772b33d14f520a86cb29b421f124bfadb
  
https://github.com/Perl/perl5/commit/8af7382772b33d14f520a86cb29b421f124bfadb
  Author: Tomasz Konojacki 
  Date:   2021-03-08 (Mon, 08 Mar 2021)

  Changed paths:
M .github/workflows/testsuite.yml

  Log Message:
  ---
  testsuite.yml: set CCHOME during 'make'

CCHOME is needed to set $Config{libpth} correctly.

The latest version of Win32 (which I'm about to import from CPAN) is
linking with a library that isn't listed in $Config{libs} and because of
that it needs $Config{libpth} to be valid.


  Commit: edfcb93db2c5e42e47f867b5f2b73a3320a6487e
  
https://github.com/Perl/perl5/commit/edfcb93db2c5e42e47f867b5f2b73a3320a6487e
  Author: Tomasz Konojacki 
  Date:   2021-03-08 (Mon, 08 Mar 2021)

  Changed paths:
M MANIFEST
M cpan/Win32/Makefile.PL
M cpan/Win32/Win32.pm
M cpan/Win32/Win32.xs
A cpan/Win32/t/Privileges.t

  Log Message:
  ---
  Update Win32 from version 0.54 to 0.56


Compare: https://github.com/Perl/perl5/compare/e00f60209b46...edfcb93db2c5


[Perl/perl5] 5c1005: Set $Config{libpth} properly for MinGW builds

2021-01-30 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5c10055a4c2731eebe01289fec8d4720e79add07
  
https://github.com/Perl/perl5/commit/5c10055a4c2731eebe01289fec8d4720e79add07
  Author: Tomasz Konojacki 
  Date:   2021-01-30 (Sat, 30 Jan 2021)

  Changed paths:
M win32/GNUmakefile

  Log Message:
  ---
  Set $Config{libpth} properly for MinGW builds

Previously the default libpth consisted of just a single folder and
failed to include the directory that contains the majority of the
libraries.

This is a fairly important issue but no one noticed it for two reasons:

1. EU::MM on Windows *always* links XS modules with the libraries from
   $Config{libs}, so you'd notice that linking doesn't work only if you
   needed a library that isn't listed there.

2. Strawberry Perl has a workaround for this issue[1].

I'm only using MinGW-w64 compilers, so I have no idea how library paths
work on MinGW.org builds. It's possible that the previous libpth worked
fine with them. Either way, this commit only adds new paths to libpth, it
doesn't modify the one that was already there, so it's unlikely it will
break anything.

[1] - 
https://github.com/StrawberryPerl/Perl-Dist-Strawberry/blob/2112b8a590882e913e98e4aa2dced4f34c4fea79/lib/Perl/Dist/Strawberry/Step/InstallPerlCore.pm#L136




[Perl/perl5] 76b7a9: win32: remove makefile.mk (#18511)

2021-01-28 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 76b7a9755884361239145cf00fcfc17625a42a1a
  
https://github.com/Perl/perl5/commit/76b7a9755884361239145cf00fcfc17625a42a1a
  Author: xenu 
  Date:   2021-01-28 (Thu, 28 Jan 2021)

  Changed paths:
M MANIFEST
M Porting/add-package.pl
M Porting/makerel
M Porting/pod_lib.pl
M Porting/pod_rules.pl
M README.cygwin
M README.win32
M make_ext.pl
M pod/perldelta.pod
M pod/perlmodinstall.pod
M regen/lib_cleanup.pl
M t/porting/pod_rules.t
M t/porting/regen.t
M win32/config.gc
R win32/makefile.mk

  Log Message:
  ---
  win32: remove makefile.mk (#18511)

Makefile.mk is redundant with GNUmakefile. See
https://www.nntp.perl.org/group/perl.perl5.porters/2021/01/msg258848.html
for more details.

We planned to remove it shortly after the introduction of GNUmakefile
but that slipped through the cracks for some reason:
https://github.com/Perl/perl5/issues/14341




[Perl/perl5] 07319f: op.c: croak on "my $_" when "use utf8" is in effect

2020-12-30 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 07319fdbb283f93cb655c3106b5237cbc7272038
  
https://github.com/Perl/perl5/commit/07319fdbb283f93cb655c3106b5237cbc7272038
  Author: Tomasz Konojacki 
  Date:   2020-12-30 (Wed, 30 Dec 2020)

  Changed paths:
M op.c
M t/op/mydef.t

  Log Message:
  ---
  op.c: croak on "my $_" when "use utf8" is in effect

Fixes #18449




[Perl/perl5] 8b3db1: win32: remove support for disabling USE_LARGE_FILES

2020-11-22 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8b3db1a0cf78a47bbd1ac74d84a37d98838f864a
  
https://github.com/Perl/perl5/commit/8b3db1a0cf78a47bbd1ac74d84a37d98838f864a
  Author: Tomasz Konojacki 
  Date:   2020-11-22 (Sun, 22 Nov 2020)

  Changed paths:
M dosish.h
M win32/GNUmakefile
M win32/Makefile
M win32/config.gc
M win32/config.vc
M win32/config_H.gc
M win32/config_H.vc
M win32/config_sh.PL
M win32/makefile.mk
M win32/win32.c

  Log Message:
  ---
  win32: remove support for disabling USE_LARGE_FILES

It was enabled by default on all compilers. I don't think it ever
makes sense to disable it.


[Perl/perl5] e84e5a: win32: use the same manifest for Visual C++ and gc...

2020-10-14 Thread xenu via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e84e5a4c05d0d50ccc06ab87ff9d81b44a40d353
  
https://github.com/Perl/perl5/commit/e84e5a4c05d0d50ccc06ab87ff9d81b44a40d353
  Author: Tomasz Konojacki 
  Date:   2020-10-14 (Wed, 14 Oct 2020)

  Changed paths:
M win32/GNUmakefile
M win32/Makefile
M win32/makefile.mk
M win32/perlexe.rc

  Log Message:
  ---
  win32: use the same manifest for Visual C++ and gcc builds

Before this commit, MSVC builds were using /manifestdependency flag
instead of embedding perlexe.manifest. That was causing issues like
GetVersionEx() returning the wrong version number on Windows 10.