[Perl/perl5] c2b9cb: perl.h: remove UNION_ANY_DEFINITION support

2024-07-12 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c2b9cbd1bee86f98462175690163b6f6c59d4088
  
https://github.com/Perl/perl5/commit/c2b9cbd1bee86f98462175690163b6f6c59d4088
  Author: Lukas Mai 
  Date:   2024-07-12 (Fri, 12 Jul 2024)

  Changed paths:
M perl.h

  Log Message:
  ---
  perl.h: remove UNION_ANY_DEFINITION support

This macro, if defined, is supposed to provide an alternative definition
of the `union any` type. It was added in commit 0f4eea8fa1779e0 (June
1998) to let win32.h override `union any` with its own definition. That
override was removed from win32.h in commit c06b86730d867c (July 1999).

For the past 25 years, this feature has been sitting there undocumented
and unused.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 308138: INSTALL: remove POD markup from the non-POD parts ...

2024-07-11 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3081381236ef2829aa03fa1efb559c72eea60205
  
https://github.com/Perl/perl5/commit/3081381236ef2829aa03fa1efb559c72eea60205
  Author: Lukas Mai 
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
M INSTALL

  Log Message:
  ---
  INSTALL: remove POD markup from the non-POD parts of the file

... replacing F<> by plain English "the file".


  Commit: 09d25ac5c12802f008c57421e8a0647aabe376a7
  
https://github.com/Perl/perl5/commit/09d25ac5c12802f008c57421e8a0647aabe376a7
  Author: Lukas Mai 
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
M INSTALL

  Log Message:
  ---
  INSTALL: clarify requirements

You don't need an installed, runnable "up-to-date version of Perl" to
build perl, just a reasonably recent source tree.

Also, update references to 5.8 and 5.10 to the more current versions
5.38 and 5.40.

(See also: GH #22390)


  Commit: 4e75bce0a8c85f0b9b5f94f5f6607ae84de674dd
  
https://github.com/Perl/perl5/commit/4e75bce0a8c85f0b9b5f94f5f6607ae84de674dd
  Author: Lukas Mai 
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
M INSTALL

  Log Message:
  ---
  INSTALL: use C< > markup for commands and their arguments


Compare: https://github.com/Perl/perl5/compare/638b6461b431...4e75bce0a8c8

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] c844ea: B::Deparse: teach Deparse about ^^ (high-precedenc...

2024-07-10 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c844eac5926d1efbdfbf2e8bcc3989ba6a6aee50
  
https://github.com/Perl/perl5/commit/c844eac5926d1efbdfbf2e8bcc3989ba6a6aee50
  Author: Lukas Mai 
  Date:   2024-07-11 (Thu, 11 Jul 2024)

  Changed paths:
M lib/B/Deparse-core.t
M lib/B/Deparse.pm
M lib/B/Deparse.t

  Log Message:
  ---
  B::Deparse: teach Deparse about ^^ (high-precedence xor)



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] c5df4f: util.c: assert that format strings are not empty

2024-07-05 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c5df4fd1012cc64d1b3e19c87bf8c51d4f3f90d6
  
https://github.com/Perl/perl5/commit/c5df4fd1012cc64d1b3e19c87bf8c51d4f3f90d6
  Author: Lukas Mai 
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
M util.c

  Log Message:
  ---
  util.c: assert that format strings are not empty

If any of these format strings are empty, things can go very wrong at
runtime, from garbage output to segfaults (e.g. see #22375).

This is a static check, so it could be placed in any source file. I
chose util.c because according to the comment at the top, it is the home
of "any stuff that people couldn't think of a better place for".



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 5e25d6: t/op/chdir.t: clean up old 'no warnings' declarations

2024-07-04 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 5e25d6e5e21b465536325c8218651699600bb36d
  
https://github.com/Perl/perl5/commit/5e25d6e5e21b465536325c8218651699600bb36d
  Author: Lukas Mai 
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
M t/op/chdir.t

  Log Message:
  ---
  t/op/chdir.t: clean up old 'no warnings' declarations

The test code has changed over the years: The literal undefs have been
removed and other parts have been moved into helper functions, so the
lexical `no warnings 'uninitialized'` declarations no longer serve any
purpose.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 8eb13b: pp_chdir: simplify control flow in fchdir case

2024-07-04 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8eb13beb49495e289b9b7a824baa05d46328aa4f
  
https://github.com/Perl/perl5/commit/8eb13beb49495e289b9b7a824baa05d46328aa4f
  Author: Lukas Mai 
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
M pp_sys.c

  Log Message:
  ---
  pp_chdir: simplify control flow in fchdir case

The result is (in my opinion) easier to read. It also lets us get rid
of:

- two levels of indentation
- three `goto`s and a label
- one duplicate instance of `PUSHs(boolSV(fchdir(...) >= 0))`
- one `#ifdef ... #endif` section



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 6d28b2: make chdir() return true/false as its documentatio...

2024-07-04 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6d28b2f81aed20ff58658d87ea860f0e4cf0ce8a
  
https://github.com/Perl/perl5/commit/6d28b2f81aed20ff58658d87ea860f0e4cf0ce8a
  Author: Lukas Mai 
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
M ext/POSIX/t/wrappers.t
M lib/B/Op_private.pm
M opcode.h
M pp_sys.c
M regen/opcodes
M t/op/chdir.t
M t/op/coreamp.t

  Log Message:
  ---
  make chdir() return true/false as its documentation claims

Previously it would return integer 1 and 0, not booleans.

Fixes #22365.


  Commit: a518f71bfcc766c99231d8a207f880a51322b04d
  
https://github.com/Perl/perl5/commit/a518f71bfcc766c99231d8a207f880a51322b04d
  Author: Lukas Mai 
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: chdir returns booleans now


Compare: https://github.com/Perl/perl5/compare/7ea9cde9d9e0...a518f71bfcc7

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] a20013: add ::chdir (properly)

2024-07-01 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: a2001396f87340a0eaae11ba3dc9fbcaf00b072d
  
https://github.com/Perl/perl5/commit/a2001396f87340a0eaae11ba3dc9fbcaf00b072d
  Author: Lukas Mai 
  Date:   2024-07-02 (Tue, 02 Jul 2024)

  Changed paths:
M gv.c
M lib/CORE.pod
M op.c
M pp_sys.c
M t/op/coreamp.t
M t/op/coresubs.t

  Log Message:
  ---
  add ::chdir (properly)

Previously, CORE::chdir was not "ampable", i.e. it could not be called
through a coderef or with a sigil: ::chdir($dir);

The only thing allowed was to make a compile-time alias, whose calls
would then be inlined to chdir again:

BEGIN { *foo = \::chdir; }
foo ".";  # actually does chdir "."

However, this was broken if the function call used parentheses, in which
case chdir would always try to use its argument as a filehandle, not the
name of a directory:

BEGIN { *foo = \::chdir; }
foo(".");
# Triggers a warning:
# chdir() on unopened filehandle . at file line 2.

This commit fixes the problem and makes chdir fully "ampable", so
::chdir() no longer triggers the "::chdir cannot be called
directly" error.


  Commit: 521cc3f5d346a443029bf3a3f3dcae701063ab49
  
https://github.com/Perl/perl5/commit/521cc3f5d346a443029bf3a3f3dcae701063ab49
  Author: Lukas Mai 
  Date:   2024-07-02 (Tue, 02 Jul 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: add entry for ::chdir


Compare: https://github.com/Perl/perl5/compare/4c992435a2d3...521cc3f5d346

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 8a9c91: perlapi/hv_store: minor fixes

2024-06-29 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8a9c915b0c7a3b732776db7e95336fc3ac1d37d6
  
https://github.com/Perl/perl5/commit/8a9c915b0c7a3b732776db7e95336fc3ac1d37d6
  Author: Lukas Mai 
  Date:   2024-06-29 (Sat, 29 Jun 2024)

  Changed paths:
M hv.c

  Log Message:
  ---
  perlapi/hv_store: minor fixes

- formatting: add a missing C in C
- s/then/and/ under 'if' to avoid misparsing as an "if ... then"
  construct
- add comma before "then"



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 9f530b: perlfunc: document that sort is stable, remove 'us...

2024-06-19 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 9f530bb96ab848b11ee0439b8b093e0c1887aab9
  
https://github.com/Perl/perl5/commit/9f530bb96ab848b11ee0439b8b093e0c1887aab9
  Author: Lukas Mai 
  Date:   2024-06-19 (Wed, 19 Jun 2024)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  perlfunc: document that sort is stable, remove 'use sort' references


  Commit: 9e4e463806821798ca5ea3d9225fe42cce77103d
  
https://github.com/Perl/perl5/commit/9e4e463806821798ca5ea3d9225fe42cce77103d
  Author: Lukas Mai 
  Date:   2024-06-19 (Wed, 19 Jun 2024)

  Changed paths:
M lib/sort.pm

  Log Message:
  ---
  sort: fix display of verbatim blocks by using spaces, not tabs

The `use sort 'defaults';` line used only one tab before the comment;
the other lines had two. This renders inconsistently depending on how
much initial space is used in the output (and where the tab stops are).

For example,  looked like

use sort 'stable';  # guarantee stability
use sort 'defaults';# revert to default behavior
no  sort 'stable';  # stability not important

Using spaces ensures the "#" signs are aligned everywhere.


Compare: https://github.com/Perl/perl5/compare/ff08b60388ee...9e4e46380682

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 79ed55: Fcntl: remove pointless S_ISENFMT function

2024-06-10 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 79ed55e69f37c2e83c1e1b1fd23f02713364df32
  
https://github.com/Perl/perl5/commit/79ed55e69f37c2e83c1e1b1fd23f02713364df32
  Author: Lukas Mai 
  Date:   2024-06-10 (Mon, 10 Jun 2024)

  Changed paths:
M ext/Fcntl/Fcntl.pm
M ext/Fcntl/Fcntl.xs
M ext/Fcntl/t/mode.t
M pod/perlfunc.pod

  Log Message:
  ---
  Fcntl: remove pointless S_ISENFMT function

S_ISENFMT($mode) has no equivalent C macro. It was implemented (in XS)
as the equivalent of `($mode & S_IFMT) == S_ENFMT`, which is always
false because S_ENFMT is not a file type and thus not covered by the
S_IFMT mask.

(See commits ca6e1c2, 0e6f150, 0f68039, fb59364, 87eca6e for the history
of this function, which has always been broken in various ways ever
since it was added in 2000.)

Fixes #22190.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5]

2024-05-25 Thread mauke via perl5-changes
  Branch: refs/heads/mauke-patch-1
  Home:   https://github.com/Perl/perl5

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 31abaf: perldelta: clean up typos & POD errors & merge con...

2024-05-23 Thread mauke via perl5-changes
  Branch: refs/heads/mauke-patch-1
  Home:   https://github.com/Perl/perl5
  Commit: 31abaf724124049c50f580d09fe12c0de399dfdc
  
https://github.com/Perl/perl5/commit/31abaf724124049c50f580d09fe12c0de399dfdc
  Author: mauke 
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: clean up typos & POD errors & merge conflict markers



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 3098e6: perldelta: clean up typos & POD errors & merge con...

2024-05-23 Thread mauke via perl5-changes
  Branch: refs/heads/mauke-patch-1
  Home:   https://github.com/Perl/perl5
  Commit: 3098e680619373d77a56e119284ee9944f9b1699
  
https://github.com/Perl/perl5/commit/3098e680619373d77a56e119284ee9944f9b1699
  Author: mauke 
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: clean up typos & POD errors & merge conflict markers



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 7d12d8: perlretut/perlrecharclass: [:blank:] isn't a GNU e...

2024-05-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7d12d8722ade9f98d8b7c511934edd7fcab9ef53
  
https://github.com/Perl/perl5/commit/7d12d8722ade9f98d8b7c511934edd7fcab9ef53
  Author: Lukas Mai 
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
M pod/perlrecharclass.pod
M pod/perlreref.pod
M pod/perlretut.pod

  Log Message:
  ---
  perlretut/perlrecharclass: [:blank:] isn't a GNU extension anymore

The wctype category "blank" and the corresponding isblank() function
have been standardized in C99 and POSIX 2001. It is not accurate to call
it a GNU extension anymore.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] bcffb0: perldelta: document Fcntl changes

2024-05-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: bcffb0dbdf8a590b02eae06fd758fe2d2d4401e4
  
https://github.com/Perl/perl5/commit/bcffb0dbdf8a590b02eae06fd758fe2d2d4401e4
  Author: Lukas Mai 
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: document Fcntl changes



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 643108: perlfunc/stat: fix description of S_ENFMT and S_IFMT

2024-05-17 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 643108fc9c03734b07078581bf534a62c1d2e597
  
https://github.com/Perl/perl5/commit/643108fc9c03734b07078581bf534a62c1d2e597
  Author: Lukas Mai 
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
M pod/perlfunc.pod

  Log Message:
  ---
  perlfunc/stat: fix description of S_ENFMT and S_IFMT

S_ENFMT properly belongs to the group of permission bits (like
setuid/setgid), not file types. On systems that have it (like AIX), it
can be set/cleared with chmod(). (In fact, it usually shares its value
with S_ISGID because enforced locking is signaled by the combination of
a non-executable file with the setgid bit set.)

S_IFMT($mode) directly gives you one of the file types (S_IFREG,
S_IFDIR, etc). You don't need to bit-and it further (especially not with
the S_IS* functions), contrary to what the comment claims. (The
confusion likely stems from the C side of things, where you'd do `mode &
S_IFMT` to extract the file type from the mode bits, leading to code
like `(mode & S_IFMT) == S_IFDIR`. But even then you could write
`S_ISDIR(mode)` without any bit mask trickery.)

Most of the symbols in the "S_IF* constants" section don't start with
"S_IF", so change to "S_I* constants" everywhere.

Most of the symbols in the "S_IF* functions" section don't start with
"S_IF" (with the sole exception of S_IFMT, which is only a function in
Perl; the C macro is a constant).
(Historical note: This section label used to make more sense because it
documented S_IFMODE and S_IFMT functions, but the former was just a typo
for S_IMODE.)



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 8cacb8: Fcntl: add module documentation

2024-05-08 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8cacb84717058962131a5d2a3180c34d514f2b05
  
https://github.com/Perl/perl5/commit/8cacb84717058962131a5d2a3180c34d514f2b05
  Author: Lukas Mai 
  Date:   2024-05-09 (Thu, 09 May 2024)

  Changed paths:
M ext/Fcntl/Fcntl.pm
M t/porting/known_pod_issues.dat

  Log Message:
  ---
  Fcntl: add module documentation



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 04d204: perldeprecation: clean up

2024-04-30 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 04d2040ce4136af8389d95e16c75aedcbfa4f9ec
  
https://github.com/Perl/perl5/commit/04d2040ce4136af8389d95e16c75aedcbfa4f9ec
  Author: Lukas Mai 
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
M pod/perldeprecation.pod

  Log Message:
  ---
  perldeprecation: clean up

- Remove duplicate sections: File::Glob::glob, bare { in regexes, code
  points above 0xFF in string bitwise ops

  These were repeated for different perl versions, but none of the other
  sections list deprecations and removal separately (e.g. "Passing
  malformed strings was deprecated in Perl 5.18, and became fatal in
  Perl 5.26" only appears under Perl 5.26; the deprecation is not listed
  separately under Perl 5.18).

- Fix some typos (e.g. "ballanced")

- Fix (?) some grammar/punctuation

  Also use past tense to describe removed functions.

- Fix some POD markup (C< > around variables, L< > for modules)



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 4780f1: perlsub: update wording around usage of

2024-04-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 4780f193cb769b523f116e79f8a6e9a854362f76
  
https://github.com/Perl/perl5/commit/4780f193cb769b523f116e79f8a6e9a854362f76
  Author: Lukas Mai 
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
M pod/perlsub.pod

  Log Message:
  ---
  perlsub: update wording around usage of &



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] d150bd: perldiag: update "You need to quote X" %SIG diagno...

2024-04-17 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: d150bdaadb1b27ab125fdf7cad4f3772fa62f2f3
  
https://github.com/Perl/perl5/commit/d150bdaadb1b27ab125fdf7cad4f3772fa62f2f3
  Author: Lukas Mai 
  Date:   2024-04-17 (Wed, 17 Apr 2024)

  Changed paths:
M pod/perldiag.pod

  Log Message:
  ---
  perldiag: update "You need to quote X" %SIG diagnostic

The old description was clearly written for perl 4 programmers.

- change "Perl 5" to just "Perl"
- recommend foo() to call subroutines (instead of )
- mention the option of putting a subroutine reference in %SIG



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] f38f76: h2ph: define all symbols at runtime

2024-04-03 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f38f760a1129030b3a4c5c3a3fe49409a65327c2
  
https://github.com/Perl/perl5/commit/f38f760a1129030b3a4c5c3a3fe49409a65327c2
  Author: Lukas Mai 
  Date:   2024-04-03 (Wed, 03 Apr 2024)

  Changed paths:
M t/lib/h2ph.h
M t/lib/h2ph.pht
M utils/h2ph.PL

  Log Message:
  ---
  h2ph: define all symbols at runtime

Preprocessor directives must be processed strictly in order. `#if` and
`#ifdef` directives can inspect the current state of defined symbols.
That's why it is wrong to translate `#define FOO() ...` to `sub foo() {
... }` since subroutine definitions are processed unconditionally at
compile time, before the rest of the code starts running.

In particular,

unless(defined()) {
sub FOO () { eval q(1); }
}

is equivalent to

# at compile time:
sub FOO () { eval q(1); }

# ... later, at runtime:
unless(defined()) {
# does nothing
}

Fix this case by always wrapping subroutines in eval '...', which moves
the symbol definition to runtime, regardless of what $t (our indentation
state) is.

Similarly, generate `_h2ph_pre.ph` without the functionally useless
`unless (defined &...) { }` blocks. We don't need runtime definitions
(via eval) here because nothing in this file depends on the dynamic
state of macro definitions. It's all `#define`s, no `#if`s.

Fixes #22109.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 3af352: regcomp: OPFAIL is neither SIMPLE nor HASWIDTH

2024-03-21 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3af3521ee7bc2cc6405a586f8d9001126af89ed0
  
https://github.com/Perl/perl5/commit/3af3521ee7bc2cc6405a586f8d9001126af89ed0
  Author: Lukas Mai 
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
M regcomp.c
M t/re/re_tests

  Log Message:
  ---
  regcomp: OPFAIL is neither SIMPLE nor HASWIDTH

This is an extension of fc7dfe8e82a76ba43c, which marked zero-width
constructs as non-SIMPLE.

This change affects synthetic OPFAIL nodes generated by the regclass
optimizer (empty character classes like [^\W\S] should always fail to
match), but which were still marked SIMPLE (indicating they match
exactly one character). If such a character class is under a quantifier,
it would cause regrepeat() to panic at runtime.

Fixes #22094.


  Commit: b559652771c1efeef063dff954c99a89057664d1
  
https://github.com/Perl/perl5/commit/b559652771c1efeef063dff954c99a89057664d1
  Author: Lukas Mai 
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  regcomp: cosmetic cleanup

- fix grammar error in comment introduced in perl 3.0
- remove duplicate semicola


Compare: https://github.com/Perl/perl5/compare/38bf7049ef87...b559652771c1

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 6a2327: perldelta for ed37371b34c7f (Tie::File)

2024-03-18 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6a2327b68ffd1416197d594607479c827a5f4103
  
https://github.com/Perl/perl5/commit/6a2327b68ffd1416197d594607479c827a5f4103
  Author: Lukas Mai 
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for ed37371b34c7f (Tie::File)



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] ed3737: Tie::File: remove 5.005 compatibility code

2024-02-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ed37371b34c7f96e0d2697cad42c16ca47d6f481
  
https://github.com/Perl/perl5/commit/ed37371b34c7f96e0d2697cad42c16ca47d6f481
  Author: Lukas Mai 
  Date:   2024-02-28 (Wed, 28 Feb 2024)

  Changed paths:
M dist/Tie-File/Makefile.PL
M dist/Tie-File/lib/Tie/File.pm

  Log Message:
  ---
  Tie::File: remove 5.005 compatibility code

- Ever since 5926ffcd2cf97, Tie::File has been using warnings.pm and
  'our', making the code incompatible with 5.005 ('use warnings'
  wouldn't even compile anymore), so remove the old compatibility
  code.
- Update code for v5.8 (the "Unknown discipline" error from v5.6 was
  changed to "IO layers (...) unavailable" then).
- 'use constant' to declare constants.
- Remove redundant 'use strict "vars"' (the whole file is under 'use
  strict').



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 260f3d: revert change to regen/warnings.pl

2024-02-24 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 260f3d82ae486ea55a487bd6bf70d4dc9e5620ad
  
https://github.com/Perl/perl5/commit/260f3d82ae486ea55a487bd6bf70d4dc9e5620ad
  Author: Lukas Mai 
  Date:   2024-02-24 (Sat, 24 Feb 2024)

  Changed paths:
M lib/warnings.pm
M regen/warnings.pl
M warnings.h

  Log Message:
  ---
  revert change to regen/warnings.pl

This reverts a version bump made in e63d87953b9ae, which I think was
incorrect: The "subsequent use version" warning appeared in 5.39.8, not
5.39.9.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] 7f7558: perlsec: remove stray + signs

2024-02-20 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7f755800ce119b4f019cabf3be362bbd8ca268ca
  
https://github.com/Perl/perl5/commit/7f755800ce119b4f019cabf3be362bbd8ca268ca
  Author: Lukas Mai 
  Date:   2024-02-21 (Wed, 21 Feb 2024)

  Changed paths:
M pod/perlsec.pod

  Log Message:
  ---
  perlsec: remove stray + signs

These were inadvertently added in 96acb8b6c1fe2f0efb.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] c84c31: perldsc: remove accidental double spaces

2024-02-17 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c84c313245bc220a4d222a13af7f7d8c4ecdf566
  
https://github.com/Perl/perl5/commit/c84c313245bc220a4d222a13af7f7d8c4ecdf566
  Author: Lukas Mai 
  Date:   2024-02-17 (Sat, 17 Feb 2024)

  Changed paths:
M pod/perldsc.pod

  Log Message:
  ---
  perldsc: remove accidental double spaces

Not double-spaced sentences, just random-looking double spaces in the
middle of a sentence.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications


[Perl/perl5] bfeb4e: perlclass: improve wording

2024-02-14 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: bfeb4ec8e48d429edf21c8f6ece3aa3c02912667
  
https://github.com/Perl/perl5/commit/bfeb4ec8e48d429edf21c8f6ece3aa3c02912667
  Author: Lukas Mai 
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
M pod/perlclass.pod

  Log Message:
  ---
  perlclass: improve wording


  Commit: e41e5af8f5ae8e6055aea1e43f73267de99dbfe1
  
https://github.com/Perl/perl5/commit/e41e5af8f5ae8e6055aea1e43f73267de99dbfe1
  Author: Lukas Mai 
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
M pod/perlclass.pod

  Log Message:
  ---
  perlclass: link to perlmod, perlobj, perlfunc/bless


  Commit: 83cd917a0a070181ded1d3a927c1deec9c34d7f8
  
https://github.com/Perl/perl5/commit/83cd917a0a070181ded1d3a927c1deec9c34d7f8
  Author: Lukas Mai 
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
M pod/perlclass.pod

  Log Message:
  ---
  perlclass: link to perlmod/Packages in description of 'class'


Compare: https://github.com/Perl/perl5/compare/3680036caeb9...83cd917a0a07


[Perl/perl5] a9ab5e: pad.h: remove pad_peg (was part of MAD)

2024-02-14 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: a9ab5eec7b2f8da87868ba19dcc8838a2db182f0
  
https://github.com/Perl/perl5/commit/a9ab5eec7b2f8da87868ba19dcc8838a2db182f0
  Author: Lukas Mai 
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
M pad.c
M pad.h

  Log Message:
  ---
  pad.h: remove pad_peg (was part of MAD)

This was missed in b5bbe64ad2ec5141 when most of MAD was removed.
pad_peg() has been a no-op macro ever since.




[Perl/perl5] 49d95c: locale.c: fix format type for __LINE__ output (deb...

2024-02-11 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 49d95ca1ee334d8e21c99ee32e02771ca55f1a46
  
https://github.com/Perl/perl5/commit/49d95ca1ee334d8e21c99ee32e02771ca55f1a46
  Author: Lukas Mai 
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: fix format type for __LINE__ output (debugging)

On some platforms, building a -DDEBUGGING perl triggers the following
compiler warnings:

In file included from locale.c:385:
locale.c: In function ‘S_bool_setlocale_2008_i’:
locale.c:2494:29: warning: format ‘%lu’ expects argument of type ‘long 
unsigned int’, but argument 7 has type ‘int’ [-Wformat=]
 "bool_setlocale_2008_i: creating new object"   
 \
 ^~~~
perl.h:4983:33: note: in definition of macro ‘DEBUG__’
 DEBUG_PRE_STMTS a; DEBUG_POST_STMTS \
 ^
locale.c:2493:7: note: in expansion of macro ‘DEBUG_L’
   DEBUG_L(PerlIO_printf(Perl_debug_log,
 \
   ^~~
locale.c:2523:17: note: in expansion of macro ‘DEBUG_NEW_OBJECT_FAILED’
 DEBUG_NEW_OBJECT_FAILED(category_names[index], new_locale,
 ^~~
In file included from locale.c:322:
config.h:4052:18: note: format string is defined here
 #define U32uf  "lu"  /**/

This is because the code tries to format __LINE__ with a varargs
function using %"LINE_Tf".

Things are slightly tricky here because in a varargs function, no type
context is available, so the format string absolutely has to match the
intrinsic type of each argument. The __LINE__ macro expands to a simple
(decimal) integer constant. According to C, such a constant has type int
if its value fits, otherwise unsigned int if it fits, otherwise long
int, etc. None of the *.c files in the perl distribution exceed 32767
lines (the minimum INT_MAX required by C), so even on ancient 16-bit
systems, our __LINE__ will always be of type int.

The %"LINE_Tf" format is designed to match a line_t argument, not int.
(On some platforms, line_t is defined as unsigned long and incompatible
with int for formatting purposes.) Therefore it is an error to use
%"LINE_Tf" with __LINE__.

One way to fix this is to convert the argument to match the format
string: ... %"LINE_Tf" ...", (line_t)__LINE__.

The other way is to change the format string to match the (int)
argument: "... %d ...", __LINE__.

Option 1 is what is used elsewhere in locale.c, so use line_t
consistently for all line numbers.




[Perl/perl5]

2024-02-10 Thread mauke via perl5-changes
  Branch: refs/heads/smoke-me/fix-bsd-build-tm_zone
  Home:   https://github.com/Perl/perl5


[Perl/perl5] 0c6790: fix "uninitialized value" warnings for shift()/pop()

2024-02-10 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 0c679023a9d1d791b7ab05a0ec3952be0f8968e3
  
https://github.com/Perl/perl5/commit/0c679023a9d1d791b7ab05a0ec3952be0f8968e3
  Author: Lukas Mai 
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
M sv.c
M t/lib/warnings/9uninit

  Log Message:
  ---
  fix "uninitialized value" warnings for shift()/pop()

This fixes an oversight introduced in 1b0ae12.

The Perl code "shift" (or "shift()") produces different optrees
depending on where it occurs: At file scope, it shifts @ARGV and the
corresponding OP has an explicit @ARGV child. But at subroutine scope,
it shifts @_, and @_ is not represented explicitly in the optree.
Instead the parser just generates an OP_SHIFT without any children.

This latter case was not handled in S_find_uninit_var (and blindly
accessing a non-existent child OP would crash perl). pop() was similarly
affected.

Fix: Explicitly check whether OPf_KIDS is set on the OP before accessing
the op_first field (plus some tests for this case).

Fixes #21960.




[Perl/perl5] 495831: locale.c: use type-agnostic code for storing tm_zone

2024-02-08 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 495831c4464a208feae5703c819caf0ead0faed0
  
https://github.com/Perl/perl5/commit/495831c4464a208feae5703c819caf0ead0faed0
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: use type-agnostic code for storing tm_zone

On some platforms, struct tm has a tm_zone member, but its type is not
consistent:

 - Linux: const char *tm_zone;
 - FreeBSD (& probably other BSDs): char *tm_zone;

In order to save/restore tm_zone, we can't just use a "const char *" or
"char *" variable because different parts of this code would always be a
const violation on one platform or the other.

Workaround: Use the tm_zone member of a full struct tm, which has the
right type no matter the platform.

Fixes #21948.




[Perl/perl5] 764fd0: locale.c: use type-agnostic code for storing tm_zone

2024-02-08 Thread mauke via perl5-changes
  Branch: refs/heads/smoke-me/fix-bsd-build-tm_zone
  Home:   https://github.com/Perl/perl5
  Commit: 764fd079054bf7e7b1ceadf7db750bc8b34a7b79
  
https://github.com/Perl/perl5/commit/764fd079054bf7e7b1ceadf7db750bc8b34a7b79
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M locale.c

  Log Message:
  ---
  locale.c: use type-agnostic code for storing tm_zone

On some platforms, struct tm has a tm_zone member, but its type is not
consistent:

 - Linux: const char *tm_zone;
 - FreeBSD (& probably other BSDs): char *tm_zone;

In order to save/restore tm_zone, we can't just use a "const char *" or
"char *" variable because different parts of this code would always be a
const violation on one platform or the other.

Workaround: Use the tm_zone member of a full struct tm, which has the
right type no matter the platform.

Fixes #21948.




[Perl/perl5] 4a414a: mention length() in "uninitialized value" warnings

2024-02-08 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 4a414abba40e6797ad6349011f8c20eac14c2b8d
  
https://github.com/Perl/perl5/commit/4a414abba40e6797ad6349011f8c20eac14c2b8d
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M sv.c
M t/lib/warnings/9uninit

  Log Message:
  ---
  mention length() in "uninitialized value" warnings

When perl looks for the source of "uninitialized value" warnings, it
treats length() as transparent: length(X) is undef iff X is undef, so it
makes sense to ignore length() when looking for the origin of the undef
value. However, this makes for misleading diagnostics: If $x is undef,
then 'length($x) == 0' triggers a "Use of uninitialized value $x in
numeric eq (==)" warning. This is correct insofar as (==) encountered an
undef value and $x is its origin, but incorrect in that $x is not one of
the operands of (==) in the source code.

This patch skips over length() when looking for the origin of undef (as
before), but adds "length(...)" around the name of the variable found,
if any.

Before:

$ perl -we 'my $x; $_ = length $x == 0'
Use of uninitialized value $x in numeric eq (==) at -e line 1.

(Misleading: $x is not an operand of (==).)

After:

$ perl -we 'my $x; $_ = length $x == 0'
Use of uninitialized value length($x) in numeric eq (==) at -e line 1.

Fixes #21930.


  Commit: 1b0ae1279c041daa07b860f7bcbcfce62123bfd2
  
https://github.com/Perl/perl5/commit/1b0ae1279c041daa07b860f7bcbcfce62123bfd2
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M sv.c

  Log Message:
  ---
  special-case shift/pop/splice in "uninitialized value" warnings

Before the preceding commit, this warning was halfway correct:

$ perl -we 'my @x; $_ = length(shift @x) == 0;'
Use of uninitialized value within @x in numeric eq (==) at -e line 1.

The "uninitialized value" did come from @x (sort of), but it was never
an element of @x, and no element of @x was used as an operand of (==).

After the preceding commit, we get:

Use of uninitialized value length(within @x) in numeric eq (==) at -e line 
1.

... which is invalid code. With this commit, we get:

Use of uninitialized value length(shift(@x)) in numeric eq (==) at -e line 
1.

(The same logic applies to pop().)

Also, splice() was overly optimistic in assigning blame:

$ perl -we 'my @x = 42; $_ = splice(@x, 0, 0) == 0'
Use of uninitialized value within @x in numeric eq (==) at -e line 1.

@x doesn't contain any undefs. The undef encountered by (==) was
returned from splice itself; it didn't come from any of splice's
arguments, so mentioning @x was just wrong.

With this commit we get:

Use of uninitialized value in numeric eq (==) at -e line 1.


  Commit: fd43d22ccafc3c907561cebbc48338b362006df4
  
https://github.com/Perl/perl5/commit/fd43d22ccafc3c907561cebbc48338b362006df4
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M t/lib/warnings/9uninit

  Log Message:
  ---
  add tests for new "uninitialized value" warnings


  Commit: a8d986b30eb356a56fa467c8753af0d122b0fcd7
  
https://github.com/Perl/perl5/commit/a8d986b30eb356a56fa467c8753af0d122b0fcd7
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  add perldelta entry for new "uninitialized value" warnings


  Commit: 3baf103ace61b11c5d5c72a7bbd3ff909d8a96c0
  
https://github.com/Perl/perl5/commit/3baf103ace61b11c5d5c72a7bbd3ff909d8a96c0
  Author: Lukas Mai 
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
M sv.c
M t/lib/warnings/9uninit

  Log Message:
  ---
  fix "uninitialized value" warnings for readline()

Like getc or (sys)read, readline can return undef even if its argument
is fully defined.


Compare: https://github.com/Perl/perl5/compare/ccd5fe1fb534...3baf103ace61


[Perl/perl5] b7ed27: only define ingroup() where needed (i.e. on !DOSIS...

2024-02-03 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b7ed279824f39feb87bb9704af63f009125b974c
  
https://github.com/Perl/perl5/commit/b7ed279824f39feb87bb9704af63f009125b974c
  Author: Lukas Mai 
  Date:   2024-02-03 (Sat, 03 Feb 2024)

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

  Log Message:
  ---
  only define ingroup() where needed (i.e. on !DOSISH systems)

This avoids a compiler warning on MinGW systems:

..\doio.c: At top level:
..\doio.c:3002:1: warning: 'S_ingroup' defined but not used 
[-Wunused-function]
 3002 | S_ingroup(pTHX_ Gid_t testgid, bool effective)
  | ^

See issue #21916.




[Perl/perl5] 7b19ce: perldelta for 8fbf04a996, 7a39510b73, d06aed192c

2023-12-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7b19ce95dbbf4c4693da31a41e1928277ff3b3b3
  
https://github.com/Perl/perl5/commit/7b19ce95dbbf4c4693da31a41e1928277ff3b3b3
  Author: Lukas Mai 
  Date:   2023-12-22 (Fri, 22 Dec 2023)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for 8fbf04a996, 7a39510b73, d06aed192c




[Perl/perl5] 8803f8: perldelta for e2f3876222, b2bbe7d8e2

2023-12-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8803f8ada5c360336fd81efb516df387dc8f018b
  
https://github.com/Perl/perl5/commit/8803f8ada5c360336fd81efb516df387dc8f018b
  Author: Lukas Mai 
  Date:   2023-12-22 (Fri, 22 Dec 2023)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for e2f3876222, b2bbe7d8e2




[Perl/perl5] c5f882: perldelta: touch up "return with indirect object" ...

2023-12-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c5f88297e0985be19f66e995b527ee4a001fc028
  
https://github.com/Perl/perl5/commit/c5f88297e0985be19f66e995b527ee4a001fc028
  Author: Lukas Mai 
  Date:   2023-12-22 (Fri, 22 Dec 2023)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta: touch up "return with indirect object" entry

- Split a comma-separated multi-phrase sentence in two.
- Use "[GH #XXX]" format for github bug references (as described
  elsewhere in the file).
- Add an explanatory comment to the example.




[Perl/perl5] 8fbf04: make generic "Out of memory!" error more specific

2023-12-12 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8fbf04a996ed5aabbe92178be8aabfc9d7f1d890
  
https://github.com/Perl/perl5/commit/8fbf04a996ed5aabbe92178be8aabfc9d7f1d890
  Author: Lukas Mai 
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
M doop.c
M embed.fnc
M embed.h
M op.c
M os2/os2ish.h
M perlio.c
M pod/perldiag.pod
M proto.h
M t/op/vec.t
M util.c
M win32/win32.c

  Log Message:
  ---
  make generic "Out of memory!" error more specific

The problem: When perl runs out of memory, it outputs a generic "Out of
memory!" error and exits. This makes it hard to track down what's
happening in a complex system, especially since the message does not
even mention perl.

This patch contains two main changes:

1. vec() in lvalue context can throw fake "Out of memory!" errors when
   it discovers that the index being assigned to is too big. Unlike real
   allocation errors, these are trappable with try {}/eval {}.

   This message has been changed to "Out of memory during vec in lvalue
   context" (and since it comes from a Perl_croak() call, it will
   generally have a script name and line number attached).

2. All other places in the source code that can emit "Out of memory!"
   errors have been changed to attach a location identifier to the
   message. For example: "Out of memory in perl:util:safesysmalloc"

   This way the error message at least mentions "perl".

Fixes #21672.


  Commit: 7a39510b73245d443bc3e362009f419cec4fe892
  
https://github.com/Perl/perl5/commit/7a39510b73245d443bc3e362009f419cec4fe892
  Author: Lukas Mai 
  Date:   2023-12-13 (Wed, 13 Dec 2023)

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

  Log Message:
  ---
  threads: make generic "Out of memory!" message more specific


  Commit: d06aed192cf5e83e669d3792a546909901fa3485
  
https://github.com/Perl/perl5/commit/d06aed192cf5e83e669d3792a546909901fa3485
  Author: Lukas Mai 
  Date:   2023-12-13 (Wed, 13 Dec 2023)

  Changed paths:
M globvar.sym
M perl.h
M t/porting/libperl.t

  Log Message:
  ---
  remove unused PL_no_mem symbol


Compare: https://github.com/Perl/perl5/compare/4430315acc90...d06aed192cf5


[Perl/perl5] c6094d: perldelta for 8acce4d007

2023-12-07 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c6094de5b329a7f01fb6b61b0ffa5d61ebc012e0
  
https://github.com/Perl/perl5/commit/c6094de5b329a7f01fb6b61b0ffa5d61ebc012e0
  Author: Lukas Mai 
  Date:   2023-12-07 (Thu, 07 Dec 2023)

  Changed paths:
M pod/perldelta.pod

  Log Message:
  ---
  perldelta for 8acce4d007




[Perl/perl5] 8acce4: Fcntl: export O_TMPFILE on request (Linux specific)

2023-12-07 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 8acce4d00738c76438f5d28f1711b6c7e93d664d
  
https://github.com/Perl/perl5/commit/8acce4d00738c76438f5d28f1711b6c7e93d664d
  Author: Lukas Mai 
  Date:   2023-12-07 (Thu, 07 Dec 2023)

  Changed paths:
M ext/Fcntl/Fcntl.pm
M ext/Fcntl/Makefile.PL

  Log Message:
  ---
  Fcntl: export O_TMPFILE on request (Linux specific)

On Linux, several filesystems support the O_TMPFILE flag in open(2),
which allows creating an unlinked (unnamed) file. Check for the
O_TMPFILE flag and if present, export it from the Fcntl module on
request.

Fixes #21694.




[Perl/perl5] 9e61ff: bisect: explicitly set diff path prefixes

2023-11-29 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 9e61ff89292b3df4d677677af8183c0a21b33f62
  
https://github.com/Perl/perl5/commit/9e61ff89292b3df4d677677af8183c0a21b33f62
  Author: Lukas Mai 
  Date:   2023-11-30 (Thu, 30 Nov 2023)

  Changed paths:
M Porting/bisect-runner.pl

  Log Message:
  ---
  bisect: explicitly set diff path prefixes

The patch code in Porting/bisect-runner.pl assumes `git show` will
always display filenames with "a/..." and "b/..." prefixes. This is not
necessarily the case. For example, the config settings
diff.mnemonicPrefix and diff.noprefix can cause different prefixes or no
prefixes at all to be used. In that case (e.g. after `git config
--global diff.noprefix true`), bisect will halt like this:

HEAD is now at 95388f2eb2 perlhist: Move 5.26.0 to another table to fix 
line length
can't find file to patch at input line 24
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--
|commit 46bfb3c49f22629a21d99ff2d02461a2a8a9aac4
|Author: Nicholas Clark 
|Date:   2022-08-02 16:40:39 +0200
|
|Configure should avoid looping infinitely repeating the same question
|
|Configure's helper function ./myread is intended to loop until it gets 
an
|acceptable answer. For a couple of cases, an empty string is not 
acceptable
|(eg 'Where is your C library?', if all automated attempts at answering 
this
|have failed). In these cases, if Configure's standard input is 
/dev/null (or
|closed), the shell read returns an empty string, and ./myread repeats 
the
|question.
|
|Before this commit, it would loop infinitely (generating continuous 
terminal
|output). With this commit, we add a retry counter - if it asks the same
|question to many times, it aborts Configure. This means that unattended
|./Configure runs should now always terminate, as termination with an 
error
|is better than spinning forever.
|
|diff --git Configure Configure
|index 9d7fc39419..9d3b5f73b1 100755
|--- Configure
|+++ Configure
--
File to patch:

... which seems silly, seeing as how the filename is right there ("diff
--git Configure Configure", "--- Configure", "+++ Configue") and yet
bisect has to ask which file to patch ("it's Configure, duh!").

This commit tells git explicitly to use "a/" and "b/" as prefixes, which
works no matter what the local config settings are.




[Perl/perl5] 7e806e: re: fix wording in documentation

2023-11-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7e806ecbca7f1e4b9c2fdedd22c320923c60a80c
  
https://github.com/Perl/perl5/commit/7e806ecbca7f1e4b9c2fdedd22c320923c60a80c
  Author: Lukas Mai 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M ext/re/re.pm

  Log Message:
  ---
  re: fix wording in documentation

Fixes #21674.




[Perl/perl5] ded9a6: don't optimize (or warn about) control flow ops in...

2023-11-27 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: ded9a6e16032bc75c3732b45c4d4012e22994974
  
https://github.com/Perl/perl5/commit/ded9a6e16032bc75c3732b45c4d4012e22994974
  Author: Lukas Mai 
  Date:   2023-11-27 (Mon, 27 Nov 2023)

  Changed paths:
M lib/B/Deparse.t
M op.c
M t/lib/warnings/op

  Log Message:
  ---
  don't optimize (or warn about) control flow ops in OP_SASSIGN

In short, '$a = return $b' is stored "backwards": OP_SASSIGN has the RHS
of the assignment as its first operand. Warning about precedence makes
no sense here.

Logical assignment ops like //=, ||=, &&= are represented as
OP_{DOR,OR,AND}ASSIGN wrapped around a weird single-child OP_SASSIGN.
Trying to naively elide the inner OP_SASSIGN leaves a dangling outer
OP_{DOR,OR,AND}ASSIGN (which B::Deparse doesn't know what to do with) or
just makes the compiler loop indefinitely. So just don't.

Fixes #21665.




[Perl/perl5] 67fb94: bump IO::* version to 1.55

2023-11-24 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 67fb94147230f64d50ec68621d642aeaf4209611
  
https://github.com/Perl/perl5/commit/67fb94147230f64d50ec68621d642aeaf4209611
  Author: Lukas Mai 
  Date:   2023-11-24 (Fri, 24 Nov 2023)

  Changed paths:
M dist/IO/IO.pm
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:
  ---
  bump IO::* version to 1.55




[Perl/perl5] b2bbe7: elide right operand if left operand transfers control

2023-11-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b2bbe7d8e2b196d341cd8c3e1d3b7600b81c1a41
  
https://github.com/Perl/perl5/commit/b2bbe7d8e2b196d341cd8c3e1d3b7600b81c1a41
  Author: Lukas Mai 
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
M lib/B/Deparse.t
M op.c
M pod/perldiag.pod
M t/lib/warnings/op

  Log Message:
  ---
  elide right operand if left operand transfers control

This commit contains the following changes:

- The "possible precedence issue" warning now mentions (in parentheses)
  the name of the control flow operator that triggered the warning:

  $ ./perl -cwe 'return $a or $b'
  Possible precedence issue with control flow operator (return) at -e line 
1.

- CORE::dump now counts as a control flow operator:

  $ ./perl -cwe 'CORE::dump or f()'
  Possible precedence issue with control flow operator (dump) at -e line 1.

- Any binary operator whose left operand is a control flow operator is
  optimized out along with any right operand it may have, even if no
  warning is triggered:

  $ ./perl -Ilib -MO=Deparse -we '(die $a) + $b'
  BEGIN { $^W = 1; }
  die $a;
  -e syntax OK

  (No warnings because explicit parentheses are used in the preceding
  example.)

  $ ./perl -Ilib -MO=Deparse -we 'exit $a ? 0 : 1'
  Possible precedence issue with control flow operator (exit) at -e line 1.
  BEGIN { $^W = 1; }
  exit $a;
  -e syntax OK




[Perl/perl5] a862c9: harness: fix operator precedence in call to exit

2023-11-22 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: a862c9af8ad2348595b63675aac4135a3e03f34b
  
https://github.com/Perl/perl5/commit/a862c9af8ad2348595b63675aac4135a3e03f34b
  Author: Lukas Mai 
  Date:   2023-11-22 (Wed, 22 Nov 2023)

  Changed paths:
M t/harness

  Log Message:
  ---
  harness: fix operator precedence in call to exit

Previously:

$ ./perl -w -c t/harness
Possible precedence issue with control flow operator at t/harness line 498.
t/harness syntax OK




[Perl/perl5] e2f387: extend "Possible precedence issue" warning, cover ...

2023-11-20 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: e2f38762229a1fa23d4b6154ad2c9b4d80bb3993
  
https://github.com/Perl/perl5/commit/e2f38762229a1fa23d4b6154ad2c9b4d80bb3993
  Author: Lukas Mai 
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
M op.c
M t/lib/warnings/op

  Log Message:
  ---
  extend "Possible precedence issue" warning, cover more cases

Previously, code like

return $a or $b;

would emit a warning of the form "Possible precedence issue with control
flow operator" because it parses as (return $a) or $b.

However, the equally misleading

exit $a != 0;  # exit($a) != 0
exit $a ? 0 : $b;  # exit($a) ? 0 : $b

were not diagnosed.

This patch moves the check higher up in the compiler: Now any binary or
ternary operator (not just logical operators) warns if its first operand
is an unparenthesized control flow operator that does not terminate
normally (i.e. next, last, redo, goto, exit, return, die).




[Perl/perl5] b2d14c: embed.fnc: we require C99 variadic macros now

2023-11-20 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b2d14c2a55fde50aa18be0d9dcf136192d7836a0
  
https://github.com/Perl/perl5/commit/b2d14c2a55fde50aa18be0d9dcf136192d7836a0
  Author: Lukas Mai 
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
M embed.fnc

  Log Message:
  ---
  embed.fnc: we require C99 variadic macros now

As pod/perlhacktips.pod states, we require C compilers to support C99
variadic macros now (since 5.35.5). So remove the comment saying
otherwise from embed.fnc.




[Perl/perl5] fbca05: perl5300delta: mention removal of arybase module

2023-11-05 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: fbca050907d06cca0bfb08983da84070f0a7d8fd
  
https://github.com/Perl/perl5/commit/fbca050907d06cca0bfb08983da84070f0a7d8fd
  Author: Lukas Mai 
  Date:   2023-11-05 (Sun, 05 Nov 2023)

  Changed paths:
M pod/perl5300delta.pod

  Log Message:
  ---
  perl5300delta: mention removal of arybase module

arybase was the internal module implementing the $[ feature. While the
removal of $[ is documented, the removal of arybase was not. This commit
tries to fix the oversight.

(Programmers were not supposed to use arybase directly, but it had its
own POD documentation and was officially listed as a core module in
perlmodlib, and previous perldeltas documented version changes in
arybase, so I feel its removal should be mentioned as well.)

See also GH #21619.




[Perl/perl5] 505e27: POSIX: fix mktime on 32-bit platforms with large t...

2023-10-11 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 505e27e339700701f7892a57bc737551eafb3e64
  
https://github.com/Perl/perl5/commit/505e27e339700701f7892a57bc737551eafb3e64
  Author: Lukas Mai 
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
M ext/POSIX/POSIX.xs
M ext/POSIX/lib/POSIX.pm

  Log Message:
  ---
  POSIX: fix mktime on 32-bit platforms with large time_t

If IV is a 32-bit type, but time_t is bigger, then it is possible for
mktime() to return values outside the 32-bit range (> 0x7fff_ after
2038-01-19). In that case, fall back to NV (i.e. floating point). A
double-precision floating point number provides more than 52 bits of
precision, which should be plenty.

Fixes #21551.




[Perl/perl5] 6d7b3a: pp_hot.c: fix typo in comment ("intit" -> "init")

2023-10-11 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6d7b3adcadfddc197e96367544eab954285fcada
  
https://github.com/Perl/perl5/commit/6d7b3adcadfddc197e96367544eab954285fcada
  Author: Lukas Mai 
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
M pp_hot.c

  Log Message:
  ---
  pp_hot.c: fix typo in comment ("intit" -> "init")

... and other slight comment changes to improve consistency in
punctuation and capitalization.

"@a =~ /(.)/g" makes no sense and was probably meant to be "=" instead,
as the comment is about /g in list context iterating multiple times.

"helps use avoid" -> "helps us avoid"




[Perl/perl5] f42f86: perl51200delta: fix typo (missing '.')

2023-10-02 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f42f866887b1667a456be813d59d52dc2ecca645
  
https://github.com/Perl/perl5/commit/f42f866887b1667a456be813d59d52dc2ecca645
  Author: Lukas Mai 
  Date:   2023-10-02 (Mon, 02 Oct 2023)

  Changed paths:
M pod/perl5120delta.pod

  Log Message:
  ---
  perl51200delta: fix typo (missing '.')




[Perl/perl5] 70d391: Devel::PPPort: fix PERL_VERSION_xx comparison macros

2023-09-26 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 70d391de2d922d20c97ccb9b93f01d86633f082d
  
https://github.com/Perl/perl5/commit/70d391de2d922d20c97ccb9b93f01d86633f082d
  Author: Lukas Mai 
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
M dist/Devel-PPPort/parts/inc/version

  Log Message:
  ---
  Devel::PPPort: fix PERL_VERSION_xx comparison macros

- Fix PERL_VERSION_EQ(x, y, '*') and PERL_VERSION_NE(x, y, '*') by using
  the correct helper constants (D_PPP_VERSION_MAJOR and
  D_PPP_VERSION_MINOR don't exist)
- Fix PERL_VERSION_LE and PERL_VERSION_GT; these used to claim that for
  all versions X, X > X and !(X <= X). See GH #21506.
- Add unit tests.




[Perl/perl5] 638055: perlre: remove statement suggesting /p is a no-op

2023-09-24 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 6380554d8853669c375d8eb94b7d1bda4088c83b
  
https://github.com/Perl/perl5/commit/6380554d8853669c375d8eb94b7d1bda4088c83b
  Author: Lukas Mai 
  Date:   2023-09-24 (Sun, 24 Sep 2023)

  Changed paths:
M pod/perlre.pod
M pod/perlvar.pod

  Log Message:
  ---
  perlre: remove statement suggesting /p is a no-op

Perl's documentation used to say that /p became a no-op starting in
v5.20.0 and all regexes would now set ${^PREMATCH}, ${^MATCH}, and
${^POSTMATCH}. This is not the case.

This wording was removed from perlvar in commit 60c52570a7183b5ef7, but
a similar sentence in perlre was missed.

This commit removes the erroneous statement from perlre and changes "and
performance penalty" to "the performance penalty" in perlvar, which
looks like a typo that got copy/pasted around.




[Perl/perl5] 2963b4: fix PERL_VERSION_LE (for all x: x should be <= x)

2023-09-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 2963b49263728d75727cfa14f81f86e0b6204503
  
https://github.com/Perl/perl5/commit/2963b49263728d75727cfa14f81f86e0b6204503
  Author: Lukas Mai 
  Date:   2023-09-23 (Sat, 23 Sep 2023)

  Changed paths:
M ext/XS-APItest/APItest.pm
M ext/XS-APItest/APItest.xs
M handy.h

  Log Message:
  ---
  fix PERL_VERSION_LE (for all x: x should be <= x)

The '<' in the previous definition means that the "E" part of "LE"
(less-or-equal) never matches (unless p == '*'). That is, if you are on
v5.38.0 and want to check PERL_VERSION_LE(5, 38, 0), it'll return false.

Fix: Switch to '<=' and change the logic for '*' to bump the patch
version up to 999, which is the maximum supported by the encoding that
PERL_JNP_TO_DECIMAL_ uses.

Also add some ad-hoc sanity checks for the version comparison macros.

Fixes #21506.


  Commit: de4a70f325814c204a79d4d025b3c464f70088bb
  
https://github.com/Perl/perl5/commit/de4a70f325814c204a79d4d025b3c464f70088bb
  Author: Lukas Mai 
  Date:   2023-09-23 (Sat, 23 Sep 2023)

  Changed paths:
M handy.h

  Log Message:
  ---
  fix PERL_JNP_TO_DECIMAL_

Commit 4a1bbd3d3953c4 added the multiplication by 10. As the comment
explains, this is to leave room for alpha/beta releases.

However, the expression is parenthesized such that the '10 *' part only
applies to the major version; i.e. major is now effectively multiplied
by 10_000_000 instead of 1_000_000.

Change this to multiply the whole thing by 10. That way we get an extra
digit at the bottom, which seems to have been the original intent.


Compare: https://github.com/Perl/perl5/compare/01272778386c...de4a70f32581


[Perl/perl5] 7aab77: fix handling of single-value anonhash { $foo }

2023-09-15 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 7aab773a19c703d6ab3ff858455bc3a9ead7639b
  
https://github.com/Perl/perl5/commit/7aab773a19c703d6ab3ff858455bc3a9ead7639b
  Author: Lukas Mai 
  Date:   2023-09-15 (Fri, 15 Sep 2023)

  Changed paths:
M pp.c
M t/op/hashwarn.t
M t/op/ref.t

  Log Message:
  ---
  fix handling of single-value anonhash { $foo }

An early exit in pp_anonhash (added in 7a607afee585e60ce329b)
inadvertently made { $foo } behave like {}; i.e. a hashref constructor
containing a single value ended up returning a reference to an empty
hash (and did not emit an "Odd number of elements in anonymous hash"
warning).

Fixes #21478.




[Perl/perl5] 51ec1e: perl.pod: fix position of perldbmfilter (under per...

2023-09-05 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 51ec1ea4d076f66a8a18c491e076c6d0bcf087f7
  
https://github.com/Perl/perl5/commit/51ec1ea4d076f66a8a18c491e076c6d0bcf087f7
  Author: Lukas Mai 
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
M pod/perl.pod

  Log Message:
  ---
  perl.pod: fix position of perldbmfilter (under perltie)

It was inadvertently moved under perlclass as part of
fd11211b37c20262922903f6435c1c09ac046e5c.


  Commit: d0d1fd7567467b0d69eef232b46d8cde8036eae0
  
https://github.com/Perl/perl5/commit/d0d1fd7567467b0d69eef232b46d8cde8036eae0
  Author: Lukas Mai 
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
M .mailmap

  Log Message:
  ---
  add new mail alias for Lukas Mai


Compare: https://github.com/Perl/perl5/compare/567a57d2dba2...d0d1fd756746


[Perl/perl5] 12a461: perl.pod: use spaces instead of tabs for alignment

2023-09-05 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 12a46113754babfa76b4008816f106477babc53b
  
https://github.com/Perl/perl5/commit/12a46113754babfa76b4008816f106477babc53b
  Author: Lukas Mai 
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
M pod/perl.pod

  Log Message:
  ---
  perl.pod: use spaces instead of tabs for alignment

On some platforms/formatters, the documentation overview in 'perldoc
perl' renders badly (misaligned) because tabs are interpreted
differently. This is presumably because some renderers output all of the
leading spaces in a verbatim paragraph as-is, while others don't.

For example, https://perldoc.perl.org/perl currently shows for me:

|
v
...
perlsyn Perl syntax
perldataPerl data structures
perlop  Perl operators and precedence
perlsub Perl subroutines
perlfuncPerl built-in functions
  perlopentut   Perl open() tutorial
  perlpacktut   Perl pack() and unpack() tutorial
perlpod Perl plain old documentation
perlpodspec Perl plain old documentation format specification
perldocstylePerl style guide for core docs
perlpodstylePerl POD style guide
perldiagPerl diagnostic messages
perldeprecation Perl deprecations
perllexwarn Perl warnings and their control
perldebug   Perl debugging
perlvar Perl predefined variables
...
^
|

All of the "Perl"s in the second column should be aligned like the
"perldeprecation" line, which is the only one that uses spaces in the
original POD document (the others use either one tab, two tabs, or a mix
of spaces and tabs).

By using spaces everywhere we bypass the whole issue and get
consistently aligned results, no matter how tabs are rendered.




[Perl/perl5] 718c63: perl.pod: make "SEE ALSO" links clickable

2023-09-04 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 718c634c78afe222329ce1ff83a55d9d0d9dd6a9
  
https://github.com/Perl/perl5/commit/718c634c78afe222329ce1ff83a55d9d0d9dd6a9
  Author: Lukas Mai 
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
M pod/perl.pod

  Log Message:
  ---
  perl.pod: make "SEE ALSO" links clickable




[Perl/perl5] 1b2f9f: perlop, perlsyn: make abstract more verbose/precise

2023-09-04 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 1b2f9fc32edcecb73698f195b0330f1eb09759d4
  
https://github.com/Perl/perl5/commit/1b2f9fc32edcecb73698f195b0330f1eb09759d4
  Author: Lukas Mai 
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
M MANIFEST
M pod/perl.pod
M pod/perlop.pod
M pod/perlsyn.pod
M t/porting/known_pod_issues.dat

  Log Message:
  ---
  perlop, perlsyn: make abstract more verbose/precise

If you're looking for the syntax of Perl expressions or strings, you
might think that "perlsyn - Perl syntax" is the document you need. But
perlsyn is mostly about syntax at the statement level. Expressions
(including how string literals are parsed, available escape sequences,
etc) are documented in perlop instead.

Hopefully, making the abstract slightly more verbose will make it easier
for people to find the documentation they're looking for.




[Perl/perl5] c7a5bc: disable duplicate IRC bot notifications on #p5p

2023-08-07 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: c7a5bcbd7bb81bdb04d0cdaf9c4a29d67c46c4e1
  
https://github.com/Perl/perl5/commit/c7a5bcbd7bb81bdb04d0cdaf9c4a29d67c46c4e1
  Author: Lukas Mai 
  Date:   2023-08-08 (Tue, 08 Aug 2023)

  Changed paths:
M .github/workflows/irc-notifications.yaml

  Log Message:
  ---
  disable duplicate IRC bot notifications on #p5p

Currently every new pull request generates seven lines of activity in
irc.perl.org/#p5p that look like this:

 [perl5] khwilliamson opened pull request #21302: autodoc: A 
config.h entry may not clash with perlintern - 
https://github.com/Perl/perl5/pull/21302
-!- Pull-Request [~pull-requ@40.84.179.161] has joined #p5p
 khwilliamson opened PR #21302
 autodoc: A config.h entry may not clash with perlintern
 https://github.com/Perl/perl5/pull/21302

-!- Pull-Request [~pull-requ@40.84.179.161] has left #p5p []

Six of those are redundant because botifico already handles everything.

This commit gets rid of the empty message by stripping trailing newlines
from the YAML string. It also tries to fix the "merged PR" and "closed
PR" cases that currently don't work at all.

It also disables #p5p IRC notifications by default. They can be enabled
by setting the github project variable NOTIFY_IRC_P5P to 'true'.




[Perl/perl5] 84310e: perl5100delta: document removal of 'package;' syntax

2023-07-16 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 84310ea03ac90137e8006de6b422fa5800ee3584
  
https://github.com/Perl/perl5/commit/84310ea03ac90137e8006de6b422fa5800ee3584
  Author: Lukas Mai 
  Date:   2023-07-17 (Mon, 17 Jul 2023)

  Changed paths:
M pod/perl5100delta.pod

  Log Message:
  ---
  perl5100delta: document removal of 'package;' syntax

The 'package;' (null package) syntax that was deprecated in perl 5.8 was
removed in 5.10, but there is no mention of it in the perldeltas. Until
now.




[Perl/perl5] 46129e: perlhacktips: copy editing

2023-07-08 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 46129e7d59551c69c466dc85cdade5812edf472f
  
https://github.com/Perl/perl5/commit/46129e7d59551c69c466dc85cdade5812edf472f
  Author: Lukas Mai 
  Date:   2023-07-08 (Sat, 08 Jul 2023)

  Changed paths:
M pod/perlhacktips.pod
M t/porting/known_pod_issues.dat

  Log Message:
  ---
  perlhacktips: copy editing

- use F<> for filenames, not C<>
- use L<> for URLs and module names to create clickable links in
  renderers that support it
- change "C files" to "header files" everywhere
- update old links (new domains, http -> https, etc)
- use C<> for code snippets and type names in C
- use C<> for environment variables
- possessive  "it's" -> "its"
- "cleanup" (verb) -> "clean up"
- add link to mod_perl documentation
- random noun/verb agreements and punctuation


  Commit: 700e6fb2d013ad6a45df003aedfe95658db5ff02
  
https://github.com/Perl/perl5/commit/700e6fb2d013ad6a45df003aedfe95658db5ff02
  Author: Lukas Mai 
  Date:   2023-07-08 (Sat, 08 Jul 2023)

  Changed paths:
M pod/perlhacktips.pod

  Log Message:
  ---
  perlhacktips: run podtidy for consistent formatting

... like the comment at the beginning of the file claims.


Compare: https://github.com/Perl/perl5/compare/dab8baec2c1d...700e6fb2d013


[Perl/perl5] db13d3: POSIX: fix compiler warnings on windows

2023-07-03 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: db13d3be7689b80baf7a315f26a198e88ba6a4d7
  
https://github.com/Perl/perl5/commit/db13d3be7689b80baf7a315f26a198e88ba6a4d7
  Author: Lukas Mai 
  Date:   2023-07-03 (Mon, 03 Jul 2023)

  Changed paths:
M ext/POSIX/POSIX.xs

  Log Message:
  ---
  POSIX: fix compiler warnings on windows

This should fix the following warnings:

POSIX.c: In function 'XS_POSIX__Termios_getattr':
POSIX.c:2126:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_setattr':
POSIX.c:2182:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_getispeed':
POSIX.c:2249:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_getiflag':
POSIX.c:2281:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_getcc':
POSIX.c:2334:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_setispeed':
POSIX.c:2374:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_setiflag':
POSIX.c:2416:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.c: In function 'XS_POSIX__Termios_setcc':
POSIX.c:2464:17: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   termios_ref = (POSIX__Termios)SvPV_nolen(SvRV(sv));
 ^
POSIX.xs: In function 'XS_POSIX_ctermid':
POSIX.xs:1462:20: warning: cast to pointer from integer of different size 
[-Wint-to-pointer-cast]
 #define ctermid(x) (char *) not_here("ctermid")
^
POSIX.xs:3639:11: note: in expansion of macro 'ctermid'
  RETVAL = ctermid(s);
   ^~~
POSIX.c: In function 'XS_POSIX_ttyname':
POSIX.xs:1383:22: warning: cast to pointer from integer of different size 
[-Wint-to-pointer-cast]
 #  define ttyname(a) (char*)not_here("ttyname")
  ^
POSIX.c:5453:11: note: in expansion of macro 'ttyname'
  RETVAL = ttyname(fd);
   ^~~




[Perl/perl5] 0099fe: Deparse: fix scalar-proto sub calls without arguments

2023-04-02 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 0099fe06da2470ae6f7b3feb560b1a116886a531
  
https://github.com/Perl/perl5/commit/0099fe06da2470ae6f7b3feb560b1a116886a531
  Author: Lukas Mai 
  Date:   2023-04-02 (Sun, 02 Apr 2023)

  Changed paths:
M lib/B/Deparse.pm
M lib/B/Deparse.t

  Log Message:
  ---
  Deparse: fix scalar-proto sub calls without arguments

- fix (;$)
- remove infinite loops from check_proto()
- implement (+)
- fix (\@) and (\%)

Fixes GH #20989.




[Perl/perl5] 275f4e: perlretut: use a numbered list to format a numbere...

2023-03-31 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 275f4e511457b9578602fc7a19a23cde36fe66bb
  
https://github.com/Perl/perl5/commit/275f4e511457b9578602fc7a19a23cde36fe66bb
  Author: Lukas Mai 
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
M pod/perlretut.pod

  Log Message:
  ---
  perlretut: use a numbered list to format a numbered list

Manually messing around with Z<> and E just ends up looking weird
in some formatters. See for example
.

Use POD's built-in support for numbered lists instead. (Also, add the
missing "." after some numbers in the first list.)

Fixes #20997.




[Perl/perl5] 416ea0: regexec.c: fix warning about unused argument to ca...

2023-03-30 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 416ea06b9fcd686a805c1090d6ceee022048d250
  
https://github.com/Perl/perl5/commit/416ea06b9fcd686a805c1090d6ceee022048d250
  Author: Lukas Mai 
  Date:   2023-03-31 (Fri, 31 Mar 2023)

  Changed paths:
M regexec.c

  Log Message:
  ---
  regexec.c: fix warning about unused argument to capture_clear

Previously:

regexec.c: In function ‘S_capture_clear’:
regexec.c:373:72: warning: unused parameter ‘str’ [-Wunused-parameter]
  373 | S_capture_clear(pTHX_ regexp *rex, U16 from_ix, U16 to_ix, const 
char *str comma_pDEPTH) {
  |
^~~




[Perl/perl5] 13dc99: op.c: remove unneeded variable

2023-03-30 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 13dc9989e55acd863329057e268c87a3f6f53aab
  
https://github.com/Perl/perl5/commit/13dc9989e55acd863329057e268c87a3f6f53aab
  Author: Lukas Mai 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  op.c: remove unneeded variable

`is_module_install_hack` is a local variable in S_process_special_blocks
that is only used to silently treat INIT blocks (in package
Module::Install::DSL) as BEGIN blocks. But instead of setting the
variable and jumping before the `if` block that checks the variable, we
can just jump into the block and get rid of the variable.


  Commit: f0ccf3d06975afe2d1bcdc52912395058983b8e6
  
https://github.com/Perl/perl5/commit/f0ccf3d06975afe2d1bcdc52912395058983b8e6
  Author: Lukas Mai 
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  op.c: use consistent spacing around = and ,

... in the Module::Install::DSL hack. Also, move `{` up to the same line
as the controlling `if` for consistency with the rest of the file.


Compare: https://github.com/Perl/perl5/compare/d0e6e389eee3...f0ccf3d06975


[Perl/perl5] d0e6e3: edit a comment in op.c that confused me

2023-03-29 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: d0e6e389eee3c7fbbfed5c3d42b403d94b312dde
  
https://github.com/Perl/perl5/commit/d0e6e389eee3c7fbbfed5c3d42b403d94b312dde
  Author: Lukas Mai 
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
M op.c

  Log Message:
  ---
  edit a comment in op.c that confused me




[Perl/perl5] 191512: [doc] update description of $^H and %^H in perlvar

2023-03-28 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 19151286d6e3fc6fd8238e85d78ea74f2cae3cc8
  
https://github.com/Perl/perl5/commit/19151286d6e3fc6fd8238e85d78ea74f2cae3cc8
  Author: Lukas Mai 
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
M pod/perlvar.pod

  Log Message:
  ---
  [doc] update description of $^H and %^H in perlvar

- remove trailing spaces
- add hyperlink to "caller" in perlfunc
- add hyperlink to $^H in description of %^H
- change "pointers to objects" to "references to objects"
- change "semantic" to "semantics"
- reword "useful for implementation of pragmas" as "useful for
  implementing pragmas"




[Perl/perl5] 095fd9: report uninit variable name even in optimized cases

2023-03-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 095fd90e6ff7791c309ef4175edebb2295e5ea04
  
https://github.com/Perl/perl5/commit/095fd90e6ff7791c309ef4175edebb2295e5ea04
  Author: Lukas Mai 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M sv.c
M t/lib/warnings/9uninit

  Log Message:
  ---
  report uninit variable name even in optimized cases

Several cases that used to be simple assignment ops with lexical
variables have been optimized in some way:

 - $foo = undef is now a single OP_UNDEF with special flags
 - $foo = ... is now a single OP_PADSV_STORE
 - $foo[0] = ... is now a single OP_AELEMFASTLEX_STORE

This is mostly transparent to users, except for "Use of uninitialized
value" warnings, which previously mentioned the name of the undefined
variable, but don't do so anymore in blead.

This commit teaches find_uninit_var() about the new ops, so error
messages for these ops can mention variable names again.

Fixes #20945.




[Perl/perl5] fe937a: [doc] clarify behavior of File::Copy::cp re: permi...

2023-03-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: fe937a9fe468d3821699cc22af3e9cdcadf2608a
  
https://github.com/Perl/perl5/commit/fe937a9fe468d3821699cc22af3e9cdcadf2608a
  Author: Lukas Mai 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M lib/File/Copy.pm

  Log Message:
  ---
  [doc] clarify behavior of File::Copy::cp re: permissions

In particular, explain that "preserve permission bits like cp" means the
default behavior of /bin/cp, not "cp -p" or "cp --preserve", so the
umask still applies.




[Perl/perl5] b7eedb: fix incorrect vi filetype declarations in generate...

2023-03-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: b7eedb08953678c5b222f3776892756053dc00aa
  
https://github.com/Perl/perl5/commit/b7eedb08953678c5b222f3776892756053dc00aa
  Author: Lukas Mai 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M charclass_invlists.h
M ebcdic_tables.h
M embed.h
M embedvar.h
M feature.h
M l1_char_class_tab.h
M lib/.gitignore
M lib/B/Op_private.pm
M lib/feature.pm
M lib/overload/numbers.pm
M lib/unicore/uni_keywords.pl
M lib/warnings.pm
M mg_names.inc
M mg_raw.h
M mg_vtable.h
M miniperlmain.c
M opcode.h
M opnames.h
M overload.h
M overload.inc
M packsizetables.inc
M perly.act
M perly.h
M perly.tab
M pp_proto.h
M proto.h
M reentr.c
M reentr.h
M regcharclass.h
M regen/feature.pl
M regen/regen_lib.pl
M regen/warnings.pl
M regnodes.h
M scope_types.h
M uconfig.h
M uni_keywords.h
M unicode_constants.h
M warnings.h

  Log Message:
  ---
  fix incorrect vi filetype declarations in generated files

Vim's filetype declarations are case sensitive. The correct types for
Perl, C, and Pod are perl, c, and pod, respectively.


  Commit: 9a3a94ffdd8cf71ee39fede590ae136ce59f7cf7
  
https://github.com/Perl/perl5/commit/9a3a94ffdd8cf71ee39fede590ae136ce59f7cf7
  Author: Lukas Mai 
  Date:   2023-03-24 (Fri, 24 Mar 2023)

  Changed paths:
M lib/.gitignore
M regen/regen_lib.pl

  Log Message:
  ---
  don't set a special filetype for generated .gitignore

Previously it would default to Perl, which happens to produce the right
comment character ("#"), but results in nonsensical syntax highlighting.
Now we set $lang to the special value 'None', which still produces
read-only declarations, but doesn't force a mode/filetype on editors.


Compare: https://github.com/Perl/perl5/compare/3ae398fba4a1...9a3a94ffdd8c


[Perl/perl5] 3ae398: perlio.c: remove silly casts

2023-03-23 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 3ae398fba4a16b2da69f72f21ace25d2bf0370e6
  
https://github.com/Perl/perl5/commit/3ae398fba4a16b2da69f72f21ace25d2bf0370e6
  Author: Lukas Mai 
  Date:   2023-03-23 (Thu, 23 Mar 2023)

  Changed paths:
M perlio.c

  Log Message:
  ---
  perlio.c: remove silly casts




[Perl/perl5] de3d29: regcomp.c: use ARG1u_LOC macro to access field

2023-03-14 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: de3d2945055fb7119a5ed4225e53b6a09d1d2feb
  
https://github.com/Perl/perl5/commit/de3d2945055fb7119a5ed4225e53b6a09d1d2feb
  Author: Lukas Mai 
  Date:   2023-03-14 (Tue, 14 Mar 2023)

  Changed paths:
M regcomp.c

  Log Message:
  ---
  regcomp.c: use ARG1u_LOC macro to access field


  Commit: b58c18a31b5fadf73cf761338de5b4b79c4c6805
  
https://github.com/Perl/perl5/commit/b58c18a31b5fadf73cf761338de5b4b79c4c6805
  Author: Lukas Mai 
  Date:   2023-03-14 (Tue, 14 Mar 2023)

  Changed paths:
M regcomp.h

  Log Message:
  ---
  regcomp.h: fix names of regnode_charclass union members


  Commit: e34ab2f7832c24c8bb6f4ae13126df008b6e9f42
  
https://github.com/Perl/perl5/commit/e34ab2f7832c24c8bb6f4ae13126df008b6e9f42
  Author: Lukas Mai 
  Date:   2023-03-14 (Tue, 14 Mar 2023)

  Changed paths:
M regcomp.h

  Log Message:
  ---
  regcomp.h: give names to anonymous union members

Anonymous unions/structs are a C11 feature (previously a GNU extension)
and not available in C90 or C99.

Fixes #20932.


Compare: https://github.com/Perl/perl5/compare/60c52570a718...e34ab2f7832c


[Perl/perl5] df9da3: Fix some typos in comments

2023-03-11 Thread mauke via perl5-changes
  Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: df9da3a8974d3b082f402042fe817bfdba2bca37
  
https://github.com/Perl/perl5/commit/df9da3a8974d3b082f402042fe817bfdba2bca37
  Author: mauke 
  Date:   2023-03-11 (Sat, 11 Mar 2023)

  Changed paths:
M .mailmap
M pp_hot.c

  Log Message:
  ---
  Fix some typos in comments