[perl.git] branch blead, updated. v5.27.0-319-g393b66efc9

2017-06-15 Thread Dagfinn Ilmari Mannsåker
In perl.git, the branch blead has been updated



- Log -
commit 393b66efc9e80151892c3fd5d7b72ed22511485d
Author: Dagfinn Ilmari Mannsåker 
Date:   Thu Jun 15 16:14:06 2017 +0100

Avoid ++ in test.pl

The header comment warns to keep it simple, and specifically against
++ due to its cleverness for string magic auto-increment, but a couple
of places had missed the memo.
---

Summary of changes:
 t/test.pl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/test.pl b/t/test.pl
index d86f6332b3..79e6e25e95 100644
--- a/t/test.pl
+++ b/t/test.pl
@@ -860,7 +860,7 @@ sub unlink_all {
if( -f $file ){
_print_stderr "# Couldn't unlink '$file': $!\n";
}else{
-   ++$count;
+   $count = $count + 1; # don't use ++
}
 }
 $count;
@@ -1141,7 +1141,7 @@ sub setup_multiple_progs {
 my $found;
 while (<$fh>) {
 if (/^__END__/) {
-++$found;
+$found = $found + 1; # don't use ++
 last;
 }
 }

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.27.0-318-ga10e04b588

2017-06-15 Thread Dave Mitchell
In perl.git, the branch blead has been updated



- Log -
commit a10e04b588b6b10ac6d059efacd8dec25d14bdb3
Author: David Mitchell 
Date:   Thu Jun 15 14:29:56 2017 +0100

pp_ref: do SvSETMAGIC(TARG)

With v5.27.0-317-g88b1365, I changed the SvSETMAGIC(TARG) at the end of
pp_ref() to a simple assert(!SvSMAGICAL(TARG)), on the grounds that it
always returned a simple string or similar, which should never be magic.

Turns out I didn't allow for taint magic. This commit restores the old
behaviour and fixes Module::Runtime (which is where I spotted the issue).
---

Summary of changes:
 pp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pp.c b/pp.c
index 305792f67b..e4072ea8b9 100644
--- a/pp.c
+++ b/pp.c
@@ -629,7 +629,7 @@ PP(pp_ref)
dTARGET;
SETs(TARG);
sv_ref(TARG, SvRV(sv), TRUE);
-   assert(!SvSMAGICAL(TARG));
+   SvSETMAGIC(TARG);
return NORMAL;
 }
 

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.27.0-317-g88b1365899

2017-06-15 Thread Steve Hay via perl5-changes
In perl.git, the branch blead has been updated



- Log -
commit 88b13658991e60bf62462d089d8bbf592f48ce0c
Author: Steve Hay 
Date:   Thu Jun 15 14:00:29 2017 +0100

Update gmake for VS 2017

Update GNUmakefile as per:
fe7ba59122 Fix dmake build breakage when using Visual C++
82cad14406 Update dmake for VS 2017
74102a88af Fix up CCINCDIR/CCLIBDIR for VC++ 14.1 (and VC++ 8.0-14.0 too!)
---

Summary of changes:
 win32/GNUmakefile | 112 ++
 1 file changed, 79 insertions(+), 33 deletions(-)

diff --git a/win32/GNUmakefile b/win32/GNUmakefile
index d0c8279aa2..7d75f2672a 100644
--- a/win32/GNUmakefile
+++ b/win32/GNUmakefile
@@ -183,6 +183,8 @@ DEFAULT_INC_EXCLUDES_DOT := define
 #CCTYPE:= MSVC140
 # Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
 #CCTYPE:= MSVC140FREE
+# Visual C++ 2017 (aka Visual C++ 14.1) (all versions)
+#CCTYPE:= MSVC141
 # MinGW or mingw-w64 with gcc-3.4.5 or later
 #CCTYPE:= GCC
 
@@ -242,11 +244,9 @@ DEFAULT_INC_EXCLUDES_DOT := define
 #ALL_STATIC:= define
 
 #
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
+# set the install locations of the compiler
+# Running VCVARS32.BAT, VCVARSALL.BAT or similar is *required* when using
+# Visual C++.
 #
 #CCHOME:= C:\MinGW
 
@@ -361,30 +361,25 @@ CCTYPE:= MSVC$(MSVCVER)0
 endif
 endif
 
+# Versions of Visual C++ up to VC++ 7.1 define $(MSVCDir); versions since then
+# define $(VCINSTALLDIR) instead, but for VC++ 14.1 we need the subfolder given
+# by $(VCToolsInstallDir).
 ifeq ($(CCHOME),)
 ifeq ($(CCTYPE),GCC)
 CCHOME := C:\MinGW
+else ifeq ($(CCTYPE),MSVC60)
+CCHOME := $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC70)
+CCHOME := $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC70FREE)
+CCHOME := $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC141)
+CCHOME := $(VCToolsInstallDir)
 else
-CCHOME := $(MSVCDIR)
+CCHOME := $(VCINSTALLDIR)
 endif
 endif
 
-#
-# Following sets $Config{incpath} and $Config{libpth}
-#
-
-ifneq ($(GCCCROSS),)
-CCINCDIR := $(CCHOME)\$(GCCCROSS)\include
-CCLIBDIR := $(CCHOME)\$(GCCCROSS)\lib
-CCDLLDIR := $(CCLIBDIR)
-ARCHPREFIX := $(GCCCROSS)-
-else
-CCINCDIR := $(CCHOME)\include
-CCLIBDIR := $(CCHOME)\lib
-CCDLLDIR := $(CCHOME)\bin
-ARCHPREFIX :=
-endif
-
 ifeq ($(CCTYPE),GCC)
 ifeq ($(GCCTARGET),x86_64-w64-mingw32)
 WIN64 := define
@@ -477,6 +472,35 @@ ifeq ($(USE_LONG_DOUBLE),define)
 ARCHNAME   := $(ARCHNAME)-ld
 endif
 
+# Set the install location of the compiler headers/libraries.
+# These are saved into $Config{incpath} and $Config{libpth}.
+ifneq ($(GCCCROSS),)
+CCINCDIR := $(CCHOME)\$(GCCCROSS)\include
+CCLIBDIR := $(CCHOME)\$(GCCCROSS)\lib
+ARCHPREFIX := $(GCCCROSS)-
+else
+CCINCDIR := $(CCHOME)\include
+ifeq ($(CCTYPE),MSVC141)
+ifeq ($(WIN64),define)
+CCLIBDIR := $(CCHOME)\lib\x64
+else
+CCLIBDIR := $(CCHOME)\lib\x86
+endif
+else
+CCLIBDIR := $(CCHOME)\lib
+endif
+ARCHPREFIX :=
+endif
+
+# Set DLL location for GCC compilers.
+ifeq ($(CCTYPE),GCC)
+ifneq ($(GCCCROSS),)
+CCDLLDIR := $(CCLIBDIR)
+else
+CCDLLDIR := $(CCHOME)\bin
+endif
+endif
+
 ARCHDIR= ..\lib\$(ARCHNAME)
 COREDIR= ..\lib\CORE
 AUTODIR= ..\lib\auto
@@ -487,7 +511,6 @@ CPANDIR = ..\cpan
 PODDIR = ..\pod
 HTMLDIR= .\html
 
-#
 INST_SCRIPT= $(INST_TOP)$(INST_VER)\bin
 INST_BIN   = $(INST_SCRIPT)$(INST_ARCH)
 INST_LIB   = $(INST_TOP)$(INST_VER)\lib
@@ -634,6 +657,8 @@ ifeq ($(CCTYPE),MSVC140)
 LIBC   = ucrt.lib
 else ifeq ($(CCTYPE),MSVC140FREE)
 LIBC   = ucrt.lib
+else ifeq ($(CCTYPE),MSVC141)
+LIBC   = ucrt.lib
 else
 LIBC   = msvcrt.lib
 endif
@@ -649,6 +674,8 @@ ifeq ($(CCTYPE),MSVC140)
 LIBC   = ucrtd.lib
 else ifeq ($(CCTYPE),MSVC140FREE)
 LIBC   = ucrtd.lib
+else ifeq ($(CCTYPE),MSVC141)
+LIBC   = ucrtd.lib
 else
 LIBC   = msvcrtd.lib
 endif
@@ -686,9 +713,11 @@ endif
 
 # Likewise for deprecated Winsock APIs in VC++ 14.0 for now.
 ifeq ($(CCTYPE),MSVC140)
-DEFINES= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
+DEFINES+= -D_WINSOCK_DEPRECATED_NO_WARNINGS
 else ifeq ($(CCTYPE),MSVC140FREE)
-DEFINES= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
+DEFINES+= -D_WINSOCK_DEPRECATED_NO_WARNINGS

[perl.git] branch yves/doc_hints, updated. v5.27.0-316-g1510475f3d

2017-06-15 Thread Yves Orton
In perl.git, the branch yves/doc_hints has been updated



- Log -
commit 1510475f3ddac95b1e3fa2f23b7836a212cb6d7d
Author: Yves Orton 
Date:   Thu Jun 15 14:49:59 2017 +0200

improve hints hash docs as per leonerds suggestions
---

Summary of changes:
 pod/perlvar.pod | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/pod/perlvar.pod b/pod/perlvar.pod
index 2dba82618f..0857209b89 100644
--- a/pod/perlvar.pod
+++ b/pod/perlvar.pod
@@ -2167,11 +2167,13 @@ slot of the return of caller:
 
   sub hints_hash { (caller(0))[10] }
 
-During compilation this hash may be used to store complex structures, such
-as code references, however once compilation is completed these structures
-will be flattened to a representation that accommodates only simple
-values, which means that complex structures such as references
-can not be retrieved at run-time via C as described above.
+During compilation this hash may be used to store complex structures,
+such as code references, as well as simple non-referential scalars. A
+flattened copy of the values written into the hash is stored with the
+code that was compiled while it was in effect, and is the copy
+available via the C mechanism. This copy preserves simple
+strings and numbers, but will not preserve more complex values
+like references.
 
 When putting items into C<%^H>, in order to avoid conflicting with other
 users of the hash there is a convention regarding which keys to use.

--
Perl5 Master Repository


[perl.git] branch blead, updated. v5.27.0-316-gbdb1f1b373

2017-06-15 Thread Chris 'Bingos' Williams
In perl.git, the branch blead has been updated



- Log -
commit bdb1f1b3738d343c9d3048636256f9d44854d329
Author: Chris 'BinGOs' Williams 
Date:   Thu Jun 15 12:35:17 2017 +0100

Update Getopt-Long to CPAN version 2.50

  [DELTA]

Changes in version 2.50
---

* Fix bug https://rt.cpan.org/Ticket/Display.html?id=120231.

* Fix bug https://rt.cpan.org/Ticket/Display.html?id=120300.
  Unfortunately, this withdraws a small part of fix 114999.
  GNU getopt_long() does not accept the (optional)
  argument to be passed to the option without = sign.
  We do, since not doing so breaks existing scripts.

* Provide a default value for options (gnu_compat mode).
  Thanks to Andrew Gregory.

M   Porting/Maintainers.pl
M   cpan/Getopt-Long/lib/Getopt/Long.pm

commit 874389ae053832437addcb8d34e734a61d519323
Author: Chris 'BinGOs' Williams 
Date:   Thu Jun 15 12:31:13 2017 +0100

Update Devel-PPPort to CPAN version 3.36

  [DELTA]

3.36 - 2017-05-14

* Support Perl 5.26.* which no longer has '.' in @INC

M   Porting/Maintainers.pl
M   cpan/Devel-PPPort/PPPort_pm.PL
M   cpan/Devel-PPPort/PPPort_xs.PL
M   cpan/Devel-PPPort/mktests.PL
M   cpan/Devel-PPPort/ppport_h.PL
M   cpan/Devel-PPPort/soak

commit 272643d0694092346c0cce4acc9e46d6657028ab
Author: Chris 'BinGOs' Williams 
Date:   Thu Jun 15 12:30:05 2017 +0100

Update IO-Socket-IP to CPAN version 0.39

  [DELTA]

0.392017/03/06 16:40:30
[BUGFIXES]
 * Handle EOPNOTSUPP in resposne of efforts to disable V6ONLY
   (RT119780) (thanks XENU)

M   Porting/Maintainers.pl
M   cpan/IO-Socket-IP/lib/IO/Socket/IP.pm
---

Summary of changes:
 Porting/Maintainers.pl|  6 ++---
 cpan/Devel-PPPort/PPPort_pm.PL|  4 +--
 cpan/Devel-PPPort/PPPort_xs.PL|  2 +-
 cpan/Devel-PPPort/mktests.PL  |  2 +-
 cpan/Devel-PPPort/ppport_h.PL |  2 +-
 cpan/Devel-PPPort/soak|  2 +-
 cpan/Getopt-Long/lib/Getopt/Long.pm   | 46 ---
 cpan/IO-Socket-IP/lib/IO/Socket/IP.pm |  6 ++---
 8 files changed, 44 insertions(+), 26 deletions(-)

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index c8bdba6f00..d9445c7553 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -337,7 +337,7 @@ use File::Glob qw(:case);
 },
 
 'Devel::PPPort' => {
-'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.35.tar.gz',
+'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.tar.gz',
 # RJBS has asked MHX to have UPSTREAM be 'blead'
 # (i.e. move this from cpan/ to dist/)
 'FILES'=> q[cpan/Devel-PPPort],
@@ -559,7 +559,7 @@ use File::Glob qw(:case);
 },
 
 'Getopt::Long' => {
-'DISTRIBUTION' => 'JV/Getopt-Long-2.49.1.tar.gz',
+'DISTRIBUTION' => 'JV/Getopt-Long-2.50.tar.gz',
 'FILES'=> q[cpan/Getopt-Long],
 'EXCLUDED' => [
 qr{^examples/},
@@ -618,7 +618,7 @@ use File::Glob qw(:case);
 },
 
 'IO::Socket::IP' => {
-'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.38.tar.gz',
+'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz',
 'FILES'=> q[cpan/IO-Socket-IP],
 'EXCLUDED' => [
 qr{^examples/},
diff --git a/cpan/Devel-PPPort/PPPort_pm.PL b/cpan/Devel-PPPort/PPPort_pm.PL
index ad75b13e80..1f4e95710a 100644
--- a/cpan/Devel-PPPort/PPPort_pm.PL
+++ b/cpan/Devel-PPPort/PPPort_pm.PL
@@ -15,7 +15,7 @@
 
 use strict;
 $^W = 1;
-require "parts/ppptools.pl";
+require "./parts/ppptools.pl";
 
 my $INCLUDE = 'parts/inc';
 my $DPPP = 'DPPP_';
@@ -539,7 +539,7 @@ package Devel::PPPort;
 use strict;
 use vars qw($VERSION $data);
 
-$VERSION = '3.35';
+$VERSION = '3.36';
 
 sub _init_data
 {
diff --git a/cpan/Devel-PPPort/PPPort_xs.PL b/cpan/Devel-PPPort/PPPort_xs.PL
index 5f18940ef1..d00cffa81b 100644
--- a/cpan/Devel-PPPort/PPPort_xs.PL
+++ b/cpan/Devel-PPPort/PPPort_xs.PL
@@ -15,7 +15,7 @@
 
 use strict;
 $^W = 1;
-require "parts/ppptools.pl";
+require "./parts/ppptools.pl";
 
 my %SECTION = (
   xshead => { code => '', header => "/*  code from __FILE__  */" },
diff --git a/cpan/Devel-PPPort/mktests.PL b/cpan/Devel-PPPort/mktests.PL
index fe79313222..02c9110463 100644
--- a/cpan/Devel-PPPort/mktests.PL
+++ b/cpan/Devel-PPPort/mktests.PL
@@ -15,7 +15,7 @@
 
 use strict;
 $^W = 1;
-require "parts/ppptools.pl";
+require "./parts/ppptools.pl";
 
 my $template = do { local $/;  };
 
diff --git a/cpan/Devel-PPPort/ppport_h.PL