[Perl/perl5] a128af: updateAUTHORS.pm: Use `@args` for `git log` cmd

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: a128afa3e8eed98e11ca08d0c60518f79e0e9b1a
  
https://github.com/Perl/perl5/commit/a128afa3e8eed98e11ca08d0c60518f79e0e9b1a
  Author: Bram 
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
M Porting/updateAUTHORS.pm

  Log Message:
  ---
  updateAUTHORS.pm: Use `@args` for `git log` cmd

Main reason for doing this is shrinking the `git log`-line in size.
(Next commit will make it longer)


  Commit: 70d911984f5ab933ec235ca30ff73f51d765693e
  
https://github.com/Perl/perl5/commit/70d911984f5ab933ec235ca30ff73f51d765693e
  Author: Bram 
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
M Porting/updateAUTHORS.pm

  Log Message:
  ---
  updateAUTHORS.pm: overrule 'diff.algorithm'

When the 'diff.algorithm' in git config is set to 'patience'
(i.e. `git config diff.algorithm patience`) then t/porting/update_authors.t
failed because it can renders a slightly different diff which results in
different line counts which caused the test failed.

An example of such a commit f7e7b4d5e7c86d3d5df8a744581a7f7390fc64ce:
$ git show --oneline --numstat --diff-algorithm=myers f7e7b4d5e7
f7e7b4d win32.c: use _mkgmtime() instead of mktime() in stat()
11  2   pod/perldelta.pod
10  13  win32/win32.c

$ git show --oneline --numstat --diff-algorithm=patience f7e7b4d5e7
f7e7b4d win32.c: use _mkgmtime() instead of mktime() in stat()
11  2   pod/perldelta.pod
9   12  win32/win32.c

Note: I opted to use `git -c diff.algorithm` since that will also
  work on old git versions that don't support `git log --diff-algorithm`


Compare: https://github.com/Perl/perl5/compare/5429d8b15ac5...70d911984f5a


[Perl/perl5] 5429d8: fixup comment

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5429d8b15ac507ea1d869c704d806ffa62f2c024
  
https://github.com/Perl/perl5/commit/5429d8b15ac507ea1d869c704d806ffa62f2c024
  Author: Yves Orton 
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  fixup comment




[Perl/perl5] cb8094: pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: cb809451034fdd562c2b954d7c9fa863af6c82d6
  
https://github.com/Perl/perl5/commit/cb809451034fdd562c2b954d7c9fa863af6c82d6
  Author: Yves Orton 
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH() logic to a function

This creates S_try_run_unitcheck(), which is similar to S_try_yyparse(),
in that it runs the subs in PL_unitcheckav inside of a JMPENV_PUSH() and
JMPENV_POP wrapper so that any call to Perl_croak() inside of one of the
blocks ends back in the right place. This is used to handle UNITCHECK
blocks defined inside of an eval STRING which is compiled and executed
as part of doeval_compile() in pp_ctl.c

Both of these functions are private to pp_ctl.c and not listed in
embed.c and are used to trap the setjmp/longjmp calls and handle
exceptions during eval.

This fixes a cryptic warning about a variable being used across setjmp
in pp_ctl.c doeval_compile(), which turns out to be evalcv. By wrapping
the JMPENV_PUSH logic in a light wrapper these issues are moved one
layer down the stack and avoided.




[Perl/perl5]

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 03840a: Update synopses on User:: and Sys:: modules

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 03840a1d3fe4ab4c1bb97279794abab6915b351e
  
https://github.com/Perl/perl5/commit/03840a1d3fe4ab4c1bb97279794abab6915b351e
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M ext/Sys-Hostname/Hostname.pm
M lib/User/grent.pm
M lib/User/pwent.pm

  Log Message:
  ---
  Update synopses on User:: and Sys:: modules




[Perl/perl5] 84320a: Update Hash::Util synopsis

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 84320ab45fec7da1660179a24882e9a43df8c8fb
  
https://github.com/Perl/perl5/commit/84320ab45fec7da1660179a24882e9a43df8c8fb
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M ext/Hash-Util/lib/Hash/Util.pm

  Log Message:
  ---
  Update Hash::Util synopsis

Add a single `my` into hash definition.




[Perl/perl5] 809fab: Update Struct.pm

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 809fab44a180f31e9985767d79ac1848d925f95e
  
https://github.com/Perl/perl5/commit/809fab44a180f31e9985767d79ac1848d925f95e
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M lib/Class/Struct.pm

  Log Message:
  ---
  Update Struct.pm

Add `my` to examples.

Don't exemplify indirect object syntax on one occasion.




[Perl/perl5] 19ae83: Update Carp.pm

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 19ae8348911a8c7afd76a15fcf474da7c2d42a89
  
https://github.com/Perl/perl5/commit/19ae8348911a8c7afd76a15fcf474da7c2d42a89
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M dist/Carp/lib/Carp.pm
M dist/Carp/lib/Carp/Heavy.pm

  Log Message:
  ---
  Update Carp.pm

Add `my` to synopsis.




[Perl/perl5] 493445: Update servent.pm

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 49344557595c1f5a62ef71584bae646ab4f3406b
  
https://github.com/Perl/perl5/commit/49344557595c1f5a62ef71584bae646ab4f3406b
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M lib/Net/servent.pm

  Log Message:
  ---
  Update servent.pm

Add `my` to synopsis.




[Perl/perl5] ebf896: Update protoent.pm

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ebf896f437d81d28bca4f476209549776f7b40cc
  
https://github.com/Perl/perl5/commit/ebf896f437d81d28bca4f476209549776f7b40cc
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M lib/Net/protoent.pm

  Log Message:
  ---
  Update protoent.pm

Add `my` to synopsis.




[Perl/perl5] e7bd9c: pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5
  Commit: e7bd9c362de2964e7f024e68dd99541e3f061ac3
  
https://github.com/Perl/perl5/commit/e7bd9c362de2964e7f024e68dd99541e3f061ac3
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH() logic to a function

This creates S_try_run_unitcheck(), which is similar to S_try_yyparse(),
in that it runs the subs in PL_unitcheckav inside of a JMPENV_PUSH() and
JMPENV_POP wrapper so that any call to Perl_croak() inside of one of the
blocks ends back in the right place. This is used to handle UNITCHECK
blocks defined inside of an eval STRING which is compiled and executed
as part of doeval_compile() in pp_ctl.c

Both of these functions are private to pp_ctl.c and not listed in
embed.c and are used to trap the setjmp/longjmp calls and handle
exceptions during eval.

This fixes a cryptic warning about a variable being used across setjmp
in pp_ctl.c doeval_compile(), which turns out to be evalcv. By wrapping
the JMPENV_PUSH logic in a light wrapper these issues are moved one
layer down the stack and avoided.




[Perl/perl5] 108b5e: Move '=encoding utf8' after preamble

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 108b5e9d6ce986b66cc9fb02e28db203021d79b9
  
https://github.com/Perl/perl5/commit/108b5e9d6ce986b66cc9fb02e28db203021d79b9
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M README.cn
M README.ko
M README.tw

  Log Message:
  ---
  Move '=encoding utf8' after preamble

All the READMEs start with a preamble describing that the file is
written in the POD format.

When the '=encoding' line is put before the preamble then the
preamble is also rendered when viewing the file with `perldoc`
(and/or when viewing the file as POD).

Fix: move '=encoding' to the place where the actual POD starts.


  Commit: ffe25ee38a87281e8293a4ab86e8a49392a9803f
  
https://github.com/Perl/perl5/commit/ffe25ee38a87281e8293a4ab86e8a49392a9803f
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M Cross/README.new
M INSTALL
M PACKAGING
M README.aix
M README.amiga
M README.android
M README.bs2000
M README.cn
M README.cygwin
M README.freebsd
M README.haiku
M README.hpux
M README.hurd
M README.irix
M README.jp
M README.ko
M README.linux
M README.macosx
M README.openbsd
M README.os2
M README.os390
M README.os400
M README.plan9
M README.qnx
M README.riscos
M README.solaris
M README.synology
M README.tru64
M README.tw
M README.vms
M README.vos
M README.win32
M hints/README.hints

  Log Message:
  ---
  Add vim-modeline to render files as POD

GitHub (also) checks the vim-modeline to decide how the file should
be rendered.

These files are all in the POD format so add the vim-modeline so that
GitHub displays them in a formatted way.

(Note: adding `linguist-language=Pod` in .gitattributes does not work,
 I created a GH support ticket for that a month ago but there have
 been little progress on it.)


  Commit: d10b9fb6cce977dad7ccd637c5e6e31f682eaa52
  
https://github.com/Perl/perl5/commit/d10b9fb6cce977dad7ccd637c5e6e31f682eaa52
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M mkppport

  Log Message:
  ---
  Add perl shebang to mkppport

It was missing so add it.
(And as a benefit: it now renders the file as Perl code when viewing
 it on github)


Compare: https://github.com/Perl/perl5/compare/ebf8e1962065...d10b9fb6cce9


[Perl/perl5] 8533d4: pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5
  Commit: 8533d4048783629583a8f991570ad3f103d0e4ee
  
https://github.com/Perl/perl5/commit/8533d4048783629583a8f991570ad3f103d0e4ee
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move "UNITCHECK in an eval" JMPENV_PUSH() logic to a function

This creates S_try_run_unitcheck(), which is similar to S_try_yyparse(),
in that it runs the subs in PL_unitcheckav inside of a JMPENV_PUSH() and
JMPENV_POP wrapper so that any call to Perl_croak() inside of one of the
blocks ends back in the right place. This is used to handle UNITCHECK
blocks defined inside of an eval STRING which is compiled and executed
as part of doeval_compile() in pp_ctl.c

Both of these functions are private to pp_ctl.c and not listed in
embed.c and are used to trap the setjmp/longjmp calls and handle
exceptions during eval.

This fixes a cryptic warning about a variable being used across setjmp
in pp_ctl.c doeval_compile(), which turns out to be evalcv. By wrapping
the JMPENV_PUSH logic in a light wrapper these issues are moved one
layer down the stack and avoided.




[Perl/perl5] dbf0cd: pp_ctl.c - move JMPENV_PUSH to a function similar ...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5
  Commit: dbf0cd9c039cfa74b853c3ac7faa83a09329c7b3
  
https://github.com/Perl/perl5/commit/dbf0cd9c039cfa74b853c3ac7faa83a09329c7b3
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move JMPENV_PUSH to a function similar to S_try_yyparse

This creates S_try_run_unitcheck(), which is similar to S_try_yyparse(),
in that it runs the subs in PL_unitcheckav() inside of a JMPENV_PUSH()
and JMPENV_POP wrapper so that any call to Perl_croak() inside of a
unitcheck block executed as part of eval compilation ends back in the
right place.

Both of these functions are private to pp_ctl.c and not listed in
embed.c and are used to trap the setjmp/longjmp calls and handle
exceptions during eval.

This fixes a cryptic warning about a variable being used across setjmp
in pp_ctl.c doeval_compile(), which turns out to be evalcv. By wrapping
the JMPENV_PUSH logic in a light wrapper these issues are moved one
layer down the stack and avoided.




[Perl/perl5] 3710db: pp_ctl.c - move JMPENV_PUSH to a function similar ...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5
  Commit: 3710db4fe308076be39de39daa20d8ade09215bd
  
https://github.com/Perl/perl5/commit/3710db4fe308076be39de39daa20d8ade09215bd
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move JMPENV_PUSH to a function similar to S_try_yyparse

This creates S_try_run_unitcheck(), which is pretty similar to
S_try_yyparse(). Both of these functions are private to pp_ctl.c
and not listed in embed.c and are used to trap setjmp/longjmp
calls.

This fixes a cryptic warning about a variable being used across
setjmp in pp_ctl.c doeval_compile, which turns out to be evalcv.
By wrapping the JMPENV_PUSH logic in a light wrapper these issues
are moved one layer down the stack and avoided.




[Perl/perl5] 03f1be: pp_ctl.c - move JMPENV_PUSH to a function similar ...

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_setjmp_warning_doeval_compile
  Home:   https://github.com/Perl/perl5
  Commit: 03f1be26db502faa8e49fd96208cac32a6a68d57
  
https://github.com/Perl/perl5/commit/03f1be26db502faa8e49fd96208cac32a6a68d57
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M pp_ctl.c

  Log Message:
  ---
  pp_ctl.c - move JMPENV_PUSH to a function similar to S_try_yyparse

Both of these are private to pp_ctl.c and not listed in embed.c

This fixes a cryptic warning about a variable being used across
setjmp which turns out to be evalcv. By wrapping the JMPENV_PUSH
logic in a light wrapper these issues are moved one layer down
the stack and avoided.




[Perl/perl5] ebf8e1: Explicitly add nsl to libswanted on Solaris

2022-09-05 Thread Leon Timmermans via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ebf8e1962065fb9f16a6f6c76fa3c0d49d6e7193
  
https://github.com/Perl/perl5/commit/ebf8e1962065fb9f16a6f6c76fa3c0d49d6e7193
  Author: Leon Timmermans 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M hints/solaris_2.sh

  Log Message:
  ---
  Explicitly add nsl to libswanted on Solaris

7e19816aa8661ce0e984742e2df11dd20dcdff18 removed it from the default
list, but it is apparently still necessary on Solaris so we add it back
in the hints file.




[Perl/perl5] 4dece4: porting/diag.t - improved parsing a bit

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_diag_t
  Home:   https://github.com/Perl/perl5
  Commit: 4dece40353c65a2aed4c24bf7fb58bea4897b15e
  
https://github.com/Perl/perl5/commit/4dece40353c65a2aed4c24bf7fb58bea4897b15e
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M dquote.c
M op.c
M os2/os2ish.h
M perl.h
M t/porting/diag.t

  Log Message:
  ---
  porting/diag.t - improved parsing a bit

The "multiline" logic of diag.t was getting confused by define
statements that would define a symbol to call an error function but not
end in ";", this would then slurp potentially many lines errorenously,
potentially absorbing more than one message. The multi-line logic also
would undef $listed_as and lose the diag_listed_as data in some
circumstances.

Fixing those issues revealed some interesting cases. To fix one of them
I defined a new noop macro in perl.h to help: PERL_DIAG_WARN_SYNTAX(),
which helps the diag.t parser identify messages without needing to be
actually part of a specific message line. These macros are noops, they
just return their argument, but they help hint to diag.t what is going
on. Maybe in the future this can be reworked to be more generic, there
are other similar cases that are not covered.

Interestingly fixing this bug meant that at least one message that used
to be erroneously picked up was no longer identified or tested. This was
replaced with a PERL_DIAG_DIE_SYNTAX() wrapper.




[Perl/perl5] 7dd3f8: porting/diag.t - improved parsing a bit

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/fix_diag_t
  Home:   https://github.com/Perl/perl5
  Commit: 7dd3f8f9ad46a536d74fc03ad8d5a0e83517
  
https://github.com/Perl/perl5/commit/7dd3f8f9ad46a536d74fc03ad8d5a0e83517
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M dquote.c
M op.c
M os2/os2ish.h
M perl.h
M t/porting/diag.t

  Log Message:
  ---
  porting/diag.t - improved parsing a bit

The "multiline" logic of diag.t was getting confused by define
statements that would define a symbol to call an error function but not
end in ";", this would then slurp potentially many lines errorenously,
potentially absorbing more than one message. The multi-line logic also
would undef $listed_as and lose the diag_listed_as data in some
circumstances.

Fixing those issues revealed some interesting cases. To fix one of them
I defined a new noop macro in perl.h to help: PERL_DIAG_WARN_SYNTAX(),
which helps the diag.t parser identify messages without needing to be
actually part of a specific message line. These macros are noops, they
just return their argument, but they help hint to diag.t what is going
on. Maybe in the future this can be reworked to be more generic, there
are other similar cases that are not covered.

Interestingly fixing this bug meant that at least one message that used
to be erroneously picked up was no longer identified or tested. This was
replaced with a PERL_DIAG_DIE_SYNTAX() wrapper.




[Perl/perl5] 178616: CI: Special case porting test in 'sanity check'

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 178616fe14feb613d5a76b07ebd6e2c901355876
  
https://github.com/Perl/perl5/commit/178616fe14feb613d5a76b07ebd6e2c901355876
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

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

  Log Message:
  ---
  CI: Special case porting test in 'sanity check'

Add a special case for the porting test in the sanity check of the
CI run.

Before:
When a porting test failed (such as t/porting/authors.t,
t/porting/cmp_version.t, ...) then it would skip all the other
test configurations.

Now:
When a porting test fails:
- result of sanity check is failure (i.e. it's red)
- other test configurations are run and these will also run the
  porting tests. (These may or may not fail, depending on the test)

When a non-porting test fails:
- result of sanity check is failure (i.e. it's red)
- sanity check still runs the porting tests
- other test configurations are skipped

Note: in the `if`conditions of the other test configurations it was
  needed to include `always()` because otherwise GitHub uses an
  implicit `success() &&` (which check the result of the
  sanity check - which is unwanted if only the porting tests failed)

Fixes #19867




[Perl/perl5] 8d845d: win32: use tmp file when creating config.sh

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8d845d9fec753ecdb61ad65787eaf8ec7a311eb0
  
https://github.com/Perl/perl5/commit/8d845d9fec753ecdb61ad65787eaf8ec7a311eb0
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M win32/GNUmakefile
M win32/Makefile

  Log Message:
  ---
  win32: use tmp file when creating config.sh

When `config_sh.PL` failed then it created an empty '..\config.sh' file.
This is unwanted since if make is then re-run it detects a '..\config.sh'
file and skips the target which leads to completely different errors.

After adding a `die "Foobar";` in win32/config_sh.PL:

$ gmake INST_TOP=... CCHOME=...
...
..\miniperl.exe -I..\lib config_sh.PL ... > ..\config.sh
Foobar at config_sh.PL line 5.
gmake: *** [GNUmakefile:1175: ..\config.sh] Error 255

Re-running the make command:

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

When `gmake` was re-run it started with the '$(CONFIGPM)' target instead
of the '..\config.sh' target.

The fix: instead of creating '..\config.sh' it now first creates
 '..\config.sh.tmp' and then renames[^1] it to '..\config.sh'

Tested the GNUmakefile on Windows 10 using GNU Make v4.2.1,
I did *not* test the Makefile (no nmake installed).

[^1]: `rename` on windows only takes a path in the first argument.
  That is: `rename ..\config.sh.tmp config.sh` can be considered
  the same as `move ..\config.sh.tmp ..\config.sh`.




[Perl/perl5] 17e4de: io/socket.t: Use SO_SNDBUF instead of SO_RCVBUF

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 17e4de6a25c1ce35029ae916bd2bdb6ef045f0f5
  
https://github.com/Perl/perl5/commit/17e4de6a25c1ce35029ae916bd2bdb6ef045f0f5
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M t/io/socket.t

  Log Message:
  ---
  io/socket.t: Use SO_SNDBUF instead of SO_RCVBUF

The test was checking the return value of `getsockopt(..., SO_RCVBUF)`
after setting it with `setsockopt(..., SO_RCVBUF, $i)`.

The values the test accepted:
- '$i'
- '2 * $i'

The '2 * $i' is because Linux doubles the size of the buffer.[^1]

On OmniOS(/SmartOS/Solaris?) it also treats the SO_RCVBUF special..
Apparently:
- when using g++: it returns '$i'
- when using gcc: the value depends on the 'tcp_mss_def_ipv4' setting.[^2].
  By default this is 536 so the value it returns is: '536 * ceil($i / 536)'
  (with a minimum of 'tcp_recv_hiwat_minmss' (=4) * 'tcp_mss_def_ipv4' (=536)

It doesn't seem to do anything special for `SO_SNDBUF` so let's use that
in the test instead.

(Tested on: Linux (gcc), Windows 10 (gcc), OmniOS (gcc,g++), FreeBSD (gcc).)

Fixes #20188

[^1]: https://www.cs.helsinki.fi/linux/linux-kernel/2001-30/0880.html
[^2]: 
https://github.com/TritonDataCenter/illumos-joyent/blob/master/usr/src/stand/lib/tcp/tcp.c#L7034
```
case SOL_SOCKET: {
switch (option) {
case SO_RCVBUF:
...
val = MSS_ROUNDUP(val, tcp->tcp_mss);
```
(with thanks to @wolfsage for that link)




[Perl/perl5] 4c135c: cmpVERSION.pm: remove exception for experimental

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 4c135c1dc9300ae4e507ea921ebbe55627c15c82
  
https://github.com/Perl/perl5/commit/4c135c1dc9300ae4e507ea921ebbe55627c15c82
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M Porting/cmpVERSION.pl

  Log Message:
  ---
  cmpVERSION.pm: remove exception for experimental

The original message added in commit a9a41e90102044c0dec8a28b7a0d24a7f4a9b84d:
"... - can be removed once v5.37.2 is released"

When v5.37.2 was released the message was updated to 'once v5.37.3 is released'
When v5.37.3 was released the message was updated to 'once v5.37.4 is released'

-> Remove the entry since it's no longer needed.


  Commit: dd57828b34c6844c46b11de514427c79cb4b8436
  
https://github.com/Perl/perl5/commit/dd57828b34c6844c46b11de514427c79cb4b8436
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M Porting/cmpVERSION.pl

  Log Message:
  ---
  Porting/cmpVERSION.pm: tabs to spaces

This file was used a mix in indentation of tabs and spaces..
Sometimes even in the same code-block..

Fix this by replacing the tabs to spaces using:
`perl -pli -e 's/^(\t+)/" " x (8 * length ($1))/e' Porting/cmpVERSION.pl`


  Commit: acd915eac04c60fb6d75f3b2ccbed7d86df24240
  
https://github.com/Perl/perl5/commit/acd915eac04c60fb6d75f3b2ccbed7d86df24240
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M Porting/cmpVERSION.pl

  Log Message:
  ---
  Porting/cmpVERSION.pm: cleanup %skip_versions whitespace


Compare: https://github.com/Perl/perl5/compare/5dee37359d98...acd915eac04c


[Perl/perl5] 5dee37: Block lacked 'skip' condition; de-SKIP it

2022-09-05 Thread James E Keenan via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5dee37359d98705a8df28cf27629f587b6416a9f
  
https://github.com/Perl/perl5/commit/5dee37359d98705a8df28cf27629f587b6416a9f
  Author: James E Keenan 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M t/re/subst.t

  Log Message:
  ---
  Block lacked 'skip' condition; de-SKIP it

There is, however, one SKIP block within that block.  Indent it
properly.

For: https://github.com/Perl/perl5/issues/20086




[Perl/perl5] 86072b: Add note in RMG about using your own fork

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 86072b2a81edbb34d11c835e5c0ba4f26c14cd00
  
https://github.com/Perl/perl5/commit/86072b2a81edbb34d11c835e5c0ba4f26c14cd00
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M Porting/release_managers_guide.pod

  Log Message:
  ---
  Add note in RMG about using your own fork

Add a small section in the release manager guide about using your own
fork of the perl5 repo when making the release. The current guide is
not written with that in mind and as a result is missing some steps.




[Perl/perl5] 0c4b0c: Tidy output of `perlbug` for pasting on GitHub

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 0c4b0c04d764f7b989513bb2e3b636d592509a6e
  
https://github.com/Perl/perl5/commit/0c4b0c04d764f7b989513bb2e3b636d592509a6e
  Author: Bram 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M utils/perlbug.PL

  Log Message:
  ---
  Tidy output of `perlbug` for pasting on GitHub

Clean up the report created by `perlbug` so that it looks better
when pasted in a GitHub issue:
- Put the 'perl configuration' in a code-block
- Hide some sentences
- Clean up 'Flags' section (it was shown as a very big header and
  taking up quite a lot of space)
- Add `**Description**`, `**Steps to Reproduce**` and `**Expected behaviour**`
  in the body of the report (similar to the GitHub issue template)
- If this is a report about a core module then also put the name of the Module
  at the top (it's still included in 'Flags' as well)
- ...

(There are two newlines added before 'Flags', this is to deal with someone
 using `perlbug -b foo`, without the newlines GitHub would make turn the
 'foo' into a title)




[Perl/perl5] b5b600: Delete .travis.yml

2022-09-05 Thread Elvin Aslanov via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b5b600ed40bc317166e141c0e75be2566644dbf8
  
https://github.com/Perl/perl5/commit/b5b600ed40bc317166e141c0e75be2566644dbf8
  Author: Elvin Aslanov 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
R .travis.yml
M MANIFEST

  Log Message:
  ---
  Delete .travis.yml

This file seems no longer needed since switching to GitHub Actions for CI.




[Perl/perl5] a94818: Stop parsing on first syntax error.

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/stop_first_error
  Home:   https://github.com/Perl/perl5
  Commit: a948189a1c9ad7a4e4ca21e418217b9e4d7d90c4
  
https://github.com/Perl/perl5/commit/a948189a1c9ad7a4e4ca21e418217b9e4d7d90c4
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M embed.fnc
M perl.c
M perl.h
M pod/perldelta.pod
M pod/perldiag.pod
M pp_ctl.c
M proto.h
M t/lib/croak/toke
M t/lib/subs/subs
M t/lib/warnings/7fatal
M t/lib/warnings/toke
M t/op/lex.t
M t/op/tie.t
M t/run/fresh_perl.t
M toke.c

  Log Message:
  ---
  Stop parsing on first syntax error.

We try to keep parsing after many types of errors, up to a (current)
maximum of 10 errors. Continuing after a semantic error (like
undeclared variables) can be helpful, for instance showing a set of
common errors, but continuing after a syntax error isn't helpful
most of the time as the internal state of the parser can get confused
and is not reliably restored in between attempts. This can produce
sometimes completely bizarre errors which just obscure the true error,
and has resulted in security tickets being filed in the past.

This patch makes the parser stop after the first syntax error, while
preserving the current behavior for other errors. An error is considered
a syntax error if the error message from our internals is the literal
text "syntax error". This may not be a complete list of true syntax
errors, we can iterate on that in the future.




[Perl/perl5] 9cbc68: Stop parsing on first syntax error.

2022-09-05 Thread Yves Orton via perl5-changes
  Branch: refs/heads/yves/stop_first_error
  Home:   https://github.com/Perl/perl5
  Commit: 9cbc685abed04e4bf42a204684876c9955ef2479
  
https://github.com/Perl/perl5/commit/9cbc685abed04e4bf42a204684876c9955ef2479
  Author: Yves Orton 
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
M embed.fnc
M perl.c
M perl.h
M pod/perldiag.pod
M pp_ctl.c
M proto.h
M t/lib/croak/toke
M t/lib/subs/subs
M t/lib/warnings/7fatal
M t/lib/warnings/toke
M t/op/lex.t
M t/op/tie.t
M t/run/fresh_perl.t
M toke.c

  Log Message:
  ---
  Stop parsing on first syntax error.

We try to keep parsing after many types of errors, up to a (current)
maximum of 10 errors. Continuing after a semantic error (like
undeclared variables) can be helpful, for instance showing a set of
common errors, but continuing after a syntax error isn't helpful
most of the time and will produce sometimes completely bizarre errors
which just obscure the actual error most of the time.

This patch makes the parser stop after the first syntax error, while
preserving the current behavior for other errors. An error is considered
a syntax error if the error message from our internals is the literal
text "syntax error". This may not be a complete list of true syntax
errors, we can iterate on that in the future.