@@ -112,7 +112,16 @@ There may well be none in a stable release.
112
112
113
113
=item *
114
114
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.
116
125
117
126
=back
118
127
142
151
143
152
=item *
144
153
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]
146
158
147
159
=back
148
160
@@ -239,7 +251,10 @@ XXX Changes (i.e. rewording) of diagnostic messages go here
239
251
240
252
=item *
241
253
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]
243
258
244
259
=back
245
260
@@ -252,13 +267,18 @@ Most of these are built within the directory F<utils>.
252
267
entries for each change
253
268
Use L<XXX> with program names to get proper documentation linking. ]
254
269
255
- =head2 L<XXX >
270
+ =head2 L<perlbug >
256
271
257
272
=over 4
258
273
259
274
=item *
260
275
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]
262
282
263
283
=back
264
284
@@ -286,6 +306,26 @@ Builds with C<-Accflags=-DPERL_TRACE_OPS> now only dump the operator
286
306
counts when the environment variable C<PERL_TRACE_OPS> to be set to a
287
307
non-zero integer. This allows C<make test> to pass on such a build.
288
308
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
+
289
329
=back
290
330
291
331
=head1 Testing
@@ -388,7 +428,14 @@ files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
388
428
389
429
=item *
390
430
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]
392
439
393
440
=back
394
441
0 commit comments