Commit 041e196500 for perl
commit 041e196500b6e1c2b43ac16d35aa588dba9651fa
Author: Jan Dubois <jan@jandubois.com>
Date: Sat Oct 24 21:10:54 2026 -0400
Win32: CPAN version 0.65
From Changes:
0.65 [2026-10-20]
- fix Win32::SetChildShowWindow() on Cygwin overwriting a value on the
caller's stack, such as the list element before the call or a foreach
loop variable [#67](https://github.com/perl-libwin32/win32/pull/67)
diff --git a/MANIFEST b/MANIFEST
index 1180981ba0..b50b12db74 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3508,6 +3508,7 @@ cpan/Win32/t/GuidGen.t See if Win32 extension works
cpan/Win32/t/HttpGetFile.t Win32
cpan/Win32/t/Names.t See if Win32 extension works
cpan/Win32/t/Privileges.t Test file related to Win32
+cpan/Win32/t/SetChildShowWindow.t Win32
cpan/Win32/t/Unicode.t See if Win32 extension works
cpan/Win32/Win32.pm Win32 extension Perl module
cpan/Win32/Win32.xs Win32 extension external subroutines
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 004bcd6b63..c9fcb8937b 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -1340,8 +1340,8 @@ our %Modules = (
},
'Win32' => {
- 'DISTRIBUTION' => 'JDB/Win32-0.64.tar.gz',
- 'SYNCINFO' => 'jkeenan on Wed Aug 12 07:03:16 2026',
+ 'DISTRIBUTION' => 'JDB/Win32-0.65.tar.gz',
+ 'SYNCINFO' => 'jkeenan on Sat Oct 24 21:08:25 2026',
'FILES' => q[cpan/Win32],
},
diff --git a/cpan/Win32/CHANGES.md b/cpan/Win32/CHANGES.md
index f671a5999d..bc5442b7ea 100644
--- a/cpan/Win32/CHANGES.md
+++ b/cpan/Win32/CHANGES.md
@@ -1,5 +1,11 @@
# Revision history for the Perl extension Win32
+## 0.65 [2026-10-20]
+
+- fix Win32::SetChildShowWindow() on Cygwin overwriting a value on the
+ caller's stack, such as the list element before the call or a foreach
+ loop variable [#67](https://github.com/perl-libwin32/win32/pull/67)
+
## 0.64 [2026-08-11]
- ship the CPAN tarball with LF line endings again; releases 0.60
diff --git a/cpan/Win32/Win32.pm b/cpan/Win32/Win32.pm
index 1cb9ac7acc..35ca6d0210 100644
--- a/cpan/Win32/Win32.pm
+++ b/cpan/Win32/Win32.pm
@@ -8,7 +8,7 @@ package Win32;
require DynaLoader;
@ISA = qw|Exporter DynaLoader|;
- $VERSION = '0.64';
+ $VERSION = '0.65';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
diff --git a/cpan/Win32/Win32.xs b/cpan/Win32/Win32.xs
index b8bbb660b3..442ea11aa9 100644
--- a/cpan/Win32/Win32.xs
+++ b/cpan/Win32/Win32.xs
@@ -926,8 +926,8 @@ XS(w32_SetChildShowWindow)
* inside the thread_intern structure, the MSWin32 implementation
* lives in win32/win32.c in the core Perl distribution.
*/
- dSP;
- I32 ax = POPMARK;
+ dXSARGS;
+ PERL_UNUSED_VAR(items);
EXTEND(SP,1);
XSRETURN_UNDEF;
}
diff --git a/cpan/Win32/t/SetChildShowWindow.t b/cpan/Win32/t/SetChildShowWindow.t
new file mode 100644
index 0000000000..bf733af749
--- /dev/null
+++ b/cpan/Win32/t/SetChildShowWindow.t
@@ -0,0 +1,8 @@
+use strict;
+use Test::More tests => 1;
+use Win32;
+
+# An XSUB that writes its return value into the stack slot below its
+# arguments overwrites the 1 in front of the call.
+my @r = (1, Win32::SetChildShowWindow(0));
+is_deeply(\@r, [1, undef], "Win32::SetChildShowWindow(0) in a list");