Skip to content

Commit 4de751a

Browse files
committed
Add perldelta entries for my 5.25.1 changes
1 parent d674449 commit 4de751a

File tree

1 file changed

+53
-6
lines changed

1 file changed

+53
-6
lines changed

pod/perldelta.pod

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,16 @@ There may well be none in a stable release.
112112

113113
=item *
114114

115-
XXX
115+
Bareword constant strings are now permitted to take part in constant
116+
folding. They were originally exempted from constant folding in August 1999,
117+
during the development of Perl 5.6, to ensure that C<use strict "subs">
118+
would still apply to bareword constants. That has now been accomplished a
119+
different way, so barewords, like other constants, now gain the performance
120+
benefits of constant folding.
121+
122+
This also means that void-context warnings on constant expressions of
123+
barewords now report the folded constant operand, rather than the operation;
124+
this matches the behaviour for non-bareword constants.
116125

117126
=back
118127

@@ -142,7 +151,10 @@ XXX
142151

143152
=item *
144153

145-
L<XXX> has been upgraded from version A.xx to B.yy.
154+
=item *
155+
156+
L<POSIX> has been upgraded from version 1.68 to 1.69. This remedies several
157+
defects in making its symbols exportable. [perl #127821]
146158

147159
=back
148160

@@ -239,7 +251,10 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
239251

240252
=item *
241253

242-
XXX Describe change here
254+
Code like C<$x = $x . "a"> was incorrectly failing to yield a
255+
L<use of uninitialized value|perldiag/"Use of uninitialized value%s">
256+
warning when C<$x> was a lexical variable with an undefined value. That has
257+
now been fixed. [perl #127877]
243258

244259
=back
245260

@@ -252,13 +267,18 @@ Most of these are built within the directory F<utils>.
252267
entries for each change
253268
Use L<XXX> with program names to get proper documentation linking. ]
254269

255-
=head2 L<XXX>
270+
=head2 L<perlbug>
256271

257272
=over 4
258273

259274
=item *
260275

261-
XXX
276+
Long lines in the message body are now wrapped at 900 characters, to stay
277+
well within the 1000-character limit imposed by SMTP mail transfer agents.
278+
This is particularly likely to be important for the list of arguments to
279+
C<Configure>, which can readily exceed the limit if, for example, it names
280+
several non-default installation paths. This change also adds the first unit
281+
tests for perlbug. [perl #128020]
262282

263283
=back
264284

@@ -286,6 +306,26 @@ Builds with C<-Accflags=-DPERL_TRACE_OPS> now only dump the operator
286306
counts when the environment variable C<PERL_TRACE_OPS> to be set to a
287307
non-zero integer. This allows C<make test> to pass on such a build.
288308

309+
=item *
310+
311+
When building with GCC 6 and link-time optimization (the C<-flto> option to
312+
C<gcc>), C<Configure> was treating all probed symbols as present on the
313+
system, regardless of whether they actually exist. This has been fixed.
314+
[perl #128131]
315+
316+
=item *
317+
318+
The F<t/test.pl> library is used for internal testing of Perl itself, and
319+
also copied by several CPAN modules. Some of those modules must work on
320+
older versions of Perl, so F<t/test.pl> must in turn avoid newer Perl
321+
features. Compatibility with Perl 5.8 was inadvertently removed some time
322+
ago; it has now been restored. [perl #128052]
323+
324+
=item *
325+
326+
The build process no longer emits an extra blank line before building each
327+
"simple" extension (those with only F<*.pm> and F<*.pod> files).
328+
289329
=back
290330

291331
=head1 Testing
@@ -388,7 +428,14 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
388428

389429
=item *
390430

391-
XXX
431+
Expressions containing an C<&&> or C<||> operator (or their synonyms C<and>
432+
and C<or>) were being compiled incorrectly in some cases. If the left-hand
433+
side consisted of either a negated bareword constant or a negated C<do {}>
434+
block containing a constant expression, and the right-hand side consisted of
435+
a negated non-foldable expression, one of the negations was effectively
436+
ignored. The same was true of C<if> and C<unless> statement modifiers,
437+
though with the left-hand and right-hand sides swapped. This long-standing
438+
bug has now been fixed. [perl #127952]
392439

393440
=back
394441

0 commit comments

Comments
 (0)