This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta entry for Locale::Maketext/$@
[perl5.git] / pod / perldelta.pod
CommitLineData
4c793fe3
FR
1=encoding utf8
2
3=head1 NAME
4
ee0887a9
SH
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
4c793fe3 7
ee0887a9 8perldelta - what is new for perl v5.13.6
4c793fe3 9
ee0887a9 10=head1 DESCRIPTION
0c692eed 11
ee0887a9
SH
12This document describes differences between the 5.13.5 release and
13the 5.13.6 release.
0c692eed 14
ee0887a9
SH
15If you are upgrading from an earlier release such as 5.13.4, first read
16L<perl5135delta>, which describes differences between 5.13.4 and
175.13.5.
0c692eed 18
ee0887a9 19=head1 Notice
0c692eed 20
ee0887a9 21XXX Any important notices here
4c793fe3 22
ee0887a9 23=head1 Core Enhancements
85318b69 24
ee0887a9
SH
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
85318b69 28
ee0887a9 29[ List each enhancement as a =head2 entry ]
85318b69 30
fb85c044
KW
31=head2 C<(?^...)> regex construct added to signify default modifiers
32
33A caret (also called a "cirumflex accent") C<"^"> immediately following
34a C<"(?"> in a regular expression now means that the subexpression is to
35not inherit the surrounding modifiers such as C</i>, but to revert to the
36Perl defaults. Any modifiers following the caret override the defaults.
37
38The stringification of regular expressions now uses this notation. The
39main purpose of this is to allow tests that rely on the stringification
40to not have to change when new modifiers are added. See
41L<perlre/Extended Patterns>.
42
9de15fec
KW
43=head2 C<"d">, C<"l">, and C<"u"> regex modifiers added
44
45These modifiers are currently only available within a C<(?...)> construct.
46
47The C<"l"> modifier says to compile the regular expression as if it were
48in the scope of C<use locale>, even if it is not.
49
50The C<"u"> modifier currently does nothing.
51
52The C<"d"> modifier is used in the scope of C<use locale> to compile the
53regular expression as if it were not in that scope.
54See L<perlre/(?dlupimsx-imsx)>.
55
fb121860
KW
56=head2 C<\N{...}> now handles Unicode named character sequences
57
58Unicode has a number of named character sequences, in which particular sequences
59of code points are given names. C<\N{...}> now recognizes these.
60See L<charnames>.
61
62=head2 New function C<charnames::string_vianame()>
63
64This function is a run-time version of C<\N{...}>, returning the string
65of characters whose Unicode name is its parameter. It can handle
66Unicode named character sequences, whereas the pre-existing
67C<charnames::vianame()> cannot, as the latter returns a single code
68point.
69See L<charnames>.
70
ee0887a9 71=head1 Security
85318b69 72
ee0887a9
SH
73XXX Any security-related notices go here. In particular, any security
74vulnerabilities closed should be noted here rather than in the
75L</Selected Bug Fixes> section.
85318b69 76
ee0887a9 77[ List each security issue as a =head2 entry ]
4c793fe3
FR
78
79=head1 Incompatible Changes
80
fb85c044
KW
81=head2 Stringification of regexes has changed
82
83Default regular expression modifiers are now notated by using
84C<(?^...)>. Code relying on the old stringification will fail. The
85purpose of this is so that when new modifiers are added, such code will
8477b9ba
KW
86not have to change (after this one time), as the stringification will
87automatically incorporate the new modifiers.
fb85c044
KW
88
89Code that needs to work properly with both old- and new-style regexes
e23837fb 90can avoid the whole issue by using (for Perls since 5.9.5):
8477b9ba
KW
91
92 use re qw(regexp_pattern);
93 my ($pat, $mods) = regexp_pattern($re_ref);
94
95where C<$re_ref> is a reference to a compiled regular expression. Upon
96return, C<$mods> will be a string containing all the non-default
97modifiers used when the regular expression was compiled, and C<$pattern>
98the actual pattern.
99
e23837fb
KW
100If the actual stringification is important, or older Perls need to be
101supported, you can use something like the following:
fb85c044
KW
102
103 # Accept both old and new-style stringification
104 my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
44428a46 105
fb85c044 106And then use C<$modifiers> instead of C<-xism>.
44428a46 107
9de15fec
KW
108=head2 Regular expressions retain their localeness when interpolated
109
110Regular expressions compiled under C<"use locale"> now retain this when
111interpolated into a new regular expression compiled outside a
112C<"use locale">, and vice-versa.
113
114Previously, a regular expression interpolated into another one inherited
115the localeness of the surrounding one, losing whatever state it
116originally had. This is considered a bug fix, but may trip up code that
117has come to rely on the incorrect behavior.
118
ee0887a9 119[ List each incompatible change as a =head2 entry ]
4c793fe3 120
6904a83f
FC
121=head2 Directory handles not copied to threads
122
123On systems that do not have a C<fchdir> function, newly-created threads no
124longer inherit directory handles from their parent threads. Such programs
125would probably have crashed anyway
126L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
127
94824daa
FC
128=head2 Negation treats strings differently from before
129
130The unary negation operator C<-> now treats strings that look like numbers
131as numbers
132L<[perl #57706]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=57706>.
133
afa74577
FC
134=head2 Negative zero
135
136Negative zero (-0.0), when converted to a string, now becomes "0" on all
137platforms. It used to become "-0" on some, but "0" on others.
138
139If you still need to determine whether a zero is negative, use
140C<sprintf("%g", $zero) =~ /^-/> or the L<Data::Float> module on CPAN.
141
4c793fe3
FR
142=head1 Deprecations
143
ee0887a9
SH
144XXX Any deprecated features, syntax, modules etc. should be listed here.
145In particular, deprecated modules should be listed here even if they are
146listed as an updated module in the L</Modules and Pragmata> section.
85318b69 147
ee0887a9 148[ List each deprecation as a =head2 entry ]
4c793fe3
FR
149
150=head1 Performance Enhancements
151
ee0887a9
SH
152XXX Changes which enhance performance without changing behaviour go here. There
153may well be none in a stable release.
4c793fe3 154
ee0887a9 155[ List each enhancement as a =item entry ]
4c793fe3 156
ee0887a9 157=over 4
4c793fe3 158
e2babdfb
FR
159=item *
160
ee0887a9 161XXX
e2babdfb 162
4c793fe3
FR
163=back
164
165=head1 Modules and Pragmata
166
ee0887a9
SH
167XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
168go here. If Module::CoreList is updated, generate an initial draft of the
169following sections using F<Porting/corelist-perldelta.pl>, which prints stub
170entries to STDOUT. Results can be pasted in place of the '=head2' entries
171below. A paragraph summary for important changes should then be added by hand.
172In an ideal world, dual-life modules would have a F<Changes> file that could be
173cribbed.
fc1418b7 174
ee0887a9 175[ Within each section, list entries as a =item entry ]
df91fef1 176
ee0887a9 177=head2 New Modules and Pragmata
ccb45ef4 178
ee0887a9 179=over 4
df91fef1 180
ee0887a9 181=item *
df91fef1 182
ee0887a9 183XXX
e2babdfb 184
ee0887a9 185=back
e2babdfb 186
ee0887a9 187=head2 Updated Modules and Pragmata
fc1418b7 188
ee0887a9 189=over 4
fc1418b7 190
ee0887a9 191=item *
e2babdfb 192
a6696b92
CBW
193C<Archive::Extract> has been upgraded from version 0.42 to 0.44
194
195=item *
196
75484d6b
FC
197C<Carp> has been upgraded from version 1.18 to 1.19.
198
199It no longer autovivifies the C<*CORE::GLOBAL::caller> glob, something it
200started doing in 1.18, which was released with perl 5.13.4
201L<[perl #78082]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78082>
202
203=item *
204
e2941eb0
FC
205C<Data::Dumper> has been upgraded from version 2.128 to 2.129.
206
207C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
208L<[perl #72332]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72332>.
209
210=item *
211
c059848d 212C<Digest::MD5> has been upgraded from version 2.40 to 2.51.
62d37bf0
FR
213
214It is now safe to use this module in combination with threads.
215
216=item *
217
f5b89942
FC
218C<File::DosGlob> has been upgraded from version 1.02 to 1.03.
219
220It allows patterns containing literal parentheses (they no longer need to
221be escaped). On Windows, it no longer adds an extra F<./> to the file names
222returned when the pattern is a relative glob with a drive specification,
6481ebaf
FC
223like F<c:*.pl>
224L<[perl #71712]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71712>.
f5b89942
FC
225
226=item *
227
4d1599c3
FC
228C<File::Find> has been upgraded from version 1.17 to 1.18.
229
230It improves handling of backslashes on Windows, so that paths such as
6481ebaf
FC
231F<c:\dir\/file> are no longer generated
232L<[perl #71710]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
4d1599c3
FC
233
234=item *
235
f1c82292
CBW
236C<if> has been upgraded from version 0.05 to 0.06
237
238=item *
239
25e68b8b
FC
240C<IPC::Open3> has been upgraded from version 1.06 to 1.07.
241
242The internal C<xclose> routine now knows how to handle file descriptors, as
243documented, so duplicating STDIN in a child process using its file
244descriptor now works
245L<[perl #76474]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
246
247=item *
248
9607a449
FC
249C<Locale::Maketext> has been upgraded from version 1.15 to 1.16.
250
251It fixes an infinite loop in C<Locale::Maketext::Guts::_compile()> when
252working with tainted values
253(L<CPAN RT #40727|https://rt.cpan.org/Public/Bug/Display.html?id=40727>).
254
edf72ff9
FC
255C<< ->maketext >> calls will now backup and restore C<$@> so that error
256messages are not supressed
257(L<CPAN RT #34182|https://rt.cpan.org/Public/Bug/Display.html?id=34182>).
258
9607a449
FC
259=item *
260
733e2929
FR
261C<Math::BigInt> has been upgraded from version 1.95 to 1.96.
262
263=item *
264
de0e3ce7
FR
265C<NEXT> has been upgraded from version 0.64 to 0.65.
266
267=item *
268
56f08af2
FC
269C<overload> has been upgraded from version 1.10 to 1.11.
270
271C<overload::Method> can now handle subroutines that are themselves blessed
272into overloaded classes
273L<[perl #71998]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71998>.
274
275=item *
276
f8a8dd49 277C<PathTools> has been upgraded from version 3.31_01 to 3.34.
1c2dcb3e
CBW
278
279=item *
280
6481ebaf
FC
281C<sigtrap> has been upgraded from version 1.04 to 1.05.
282
283It no longer tries to modify read-only arguments when generating a
284backtrace
285L<[perl #72340]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72340>.
286
287=item *
288
dfa4c013
JH
289C<threads> has been upgrade from version 1.77_03 to 1.81
290
291=item *
292
c02ee425
CBW
293C<Unicode::Collate> has been upgraded from version 0.59 to 0.61
294
295U::C::Locale newly supports locales: de__phonebook, nso, om, tn, vi, hr, ig, sq
1393fe00
CBW
296
297=item *
298
1c2dcb3e 299C<Unicode::Normalize> has been upgraded from version 1.06 to 1.07
c9a84c8b 300
ee0887a9 301=back
c9a84c8b 302
ee0887a9 303=head2 Removed Modules and Pragmata
c9a84c8b 304
ee0887a9 305=over 4
4c793fe3 306
ee0887a9 307=item *
48c1efd2 308
ee0887a9 309XXX
4c793fe3
FR
310
311=back
312
313=head1 Documentation
314
ee0887a9
SH
315XXX Changes to files in F<pod/> go here. Consider grouping entries by
316file and be sure to link to the appropriate page, e.g. L<perlfunc>.
4c793fe3 317
ee0887a9 318=head2 New Documentation
4c793fe3 319
ee0887a9 320XXX Changes which create B<new> files in F<pod/> go here.
4c793fe3 321
ee0887a9 322=head3 L<XXX>
4c793fe3 323
ee0887a9 324XXX Description of the purpose of the new file here
4c793fe3 325
ee0887a9 326=head2 Changes to Existing Documentation
fc1418b7 327
ee0887a9
SH
328XXX Changes which significantly change existing files in F<pod/> go here.
329However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
330section.
fc1418b7 331
ee0887a9 332=head3 L<XXX>
e2babdfb 333
7bc3efda
SH
334=over 4
335
336=item *
337
a7e93501
FC
338The documentation for the C<SvTRUE> macro was simply wrong in stating that
339get-magic is not processed. It has been corrected.
7bc3efda
SH
340
341=back
e2babdfb 342
4c793fe3
FR
343=head1 Diagnostics
344
345The following additions or changes have been made to diagnostic output,
346including warnings and fatal error messages. For the complete list of
347diagnostic messages, see L<perldiag>.
348
ee0887a9
SH
349XXX New or changed warnings emitted by the core's C<C> code go here. Also
350include any changes in L<perldiag> that reconcile it to the C<C> code.
4c793fe3 351
ee0887a9 352[ Within each section, list entries as a =item entry ]
4c793fe3 353
ee0887a9 354=head2 New Diagnostics
4c793fe3 355
ee0887a9 356XXX Newly added diagnostic messages go here
fc1418b7 357
ee0887a9 358=over 4
fc1418b7
SH
359
360=item *
361
ee0887a9 362XXX
ebce6c40 363
4c793fe3
FR
364=back
365
ee0887a9 366=head2 Changes to Existing Diagnostics
4c793fe3 367
ee0887a9 368XXX Changes (i.e. rewording) of diagnostic messages go here
4c793fe3
FR
369
370=over 4
371
372=item *
373
dc08898c
FC
374The 'Layer does not match this perl' error message has been replaced with
375these more helpful messages:
376
377=over 4
378
379=item *
380
381PerlIO layer function table size (%d) does not match size expected by this
382perl (%d)
383
384=item *
385
386PerlIO layer instance size (%d) does not match size expected by this perl
387(%d)
388
389=back
390
391L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>
4c793fe3
FR
392
393=back
394
ee0887a9 395=head1 Utility Changes
4c793fe3 396
ee0887a9
SH
397XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
398here. Most of these are built within the directories F<utils> and F<x2p>.
4c793fe3 399
ee0887a9
SH
400[ List utility changes as a =head3 entry for each utility and =item
401entries for each change
402Use L<XXX> with program names to get proper documentation linking. ]
fc1418b7 403
ee0887a9 404=head3 L<XXX>
fc1418b7 405
ee0887a9 406=over 4
4c793fe3 407
44428a46
FC
408=item *
409
ee0887a9 410XXX
44428a46 411
4c793fe3
FR
412=back
413
ee0887a9 414=head1 Configuration and Compilation
4c793fe3 415
ee0887a9
SH
416XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
417go here. Any other changes to the Perl build process should be listed here.
418However, any platform-specific changes should be listed in the
419L</Platform Support> section, instead.
4c793fe3 420
ee0887a9 421[ List changes as a =item entry ].
4c793fe3 422
0c692eed
FR
423=over 4
424
425=item *
426
ee0887a9 427XXX
0c692eed
FR
428
429=back
4c793fe3 430
ee0887a9 431=head1 Testing
0c692eed 432
ee0887a9
SH
433XXX Any significant changes to the testing of a freshly built perl should be
434listed here. Changes which create B<new> files in F<t/> go here as do any
435large changes to the testing harness (e.g. when parallel testing was added).
436Changes to existing files in F<t/> aren't worth summarising, although the bugs
437that they represent may be covered elsewhere.
0c692eed 438
ee0887a9 439[ List each test improvement as a =item entry ]
0c692eed 440
ee0887a9 441=over 4
0c692eed
FR
442
443=item *
444
bd6920d7
FC
445The script F<t/op/threads-dirh.t> has been added, which tests interaction
446of threads and directory handles.
4c793fe3
FR
447
448=back
449
ee0887a9 450=head1 Platform Support
4c793fe3 451
ee0887a9 452XXX Any changes to platform support should be listed in the sections below.
4c793fe3 453
ee0887a9
SH
454[ Within the sections, list each platform as a =item entry with specific
455changes as paragraphs below it. ]
4c793fe3 456
ee0887a9 457=head2 New Platforms
0c692eed 458
ee0887a9
SH
459XXX List any platforms that this version of perl compiles on, that previous
460versions did not. These will either be enabled by new files in the F<hints/>
461directories, or new subdirectories and F<README> files at the top level of the
462source tree.
0c692eed 463
ee0887a9 464=over 4
0c692eed 465
ee0887a9 466=item XXX-some-platform
0c692eed 467
ee0887a9 468XXX
0c692eed 469
ee0887a9 470=back
0c692eed 471
ee0887a9 472=head2 Discontinued Platforms
4c793fe3 473
ee0887a9 474XXX List any platforms that this version of perl no longer compiles on.
8ebb9810 475
ee0887a9 476=over 4
8ebb9810 477
ee0887a9 478=item XXX-some-platform
48c1efd2 479
ee0887a9 480XXX
48c1efd2 481
ee0887a9 482=back
44428a46 483
ee0887a9 484=head2 Platform-Specific Notes
44428a46 485
ee0887a9
SH
486XXX List any changes for specific platforms. This could include configuration
487and compilation changes or changes in portability/compatibility. However,
488changes within modules for platforms should generally be listed in the
489L</Modules and Pragmata> section.
f4beb78f 490
ee0887a9 491=over 4
f4beb78f 492
810f3b7c
FC
493=item IRIX
494
495Conversion of strings to floating-point numbers is now more accurate on
496IRIX systems
497L<[perl #32380]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=32380>.
498
6034bceb
FC
499=item Mac OS X
500
501Early versions of Mac OS X (Darwin) had buggy implementations of the
502C<setregid>, C<setreuid>, C<setrgid> and C<setruid> functions, so perl
503would pretend they did not exist.
504
505These functions are now recognised on Mac OS 10.5 (Leopard; Darwin 9) and
506higher, as they have been fixed
507L<[perl #72990]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72990>.
508
810f3b7c
FC
509=item OpenVOS
510
511perl now builds again with OpenVOS (formerly known as Stratus VOS)
512L<[perl #78132]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78132>.
513
2ffefa5a 514=item Windows
ccb45ef4 515
2ffefa5a
FC
516C<$Config{gccversion}> is now set correctly when perl is built using the
517mingw64 compiler from L<http://mingw64.org>
518L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>.
519
f8a8dd49
FC
520The build process proceeds more smoothly with mingw and dmake when
521F<C:\MSYS\bin> is in the PATH, due to a C<Cwd> fix.
522
2ffefa5a 523=back
ccb45ef4 524
ee0887a9 525=head1 Internal Changes
85318b69 526
ee0887a9
SH
527XXX Changes which affect the interface available to C<XS> code go here.
528Other significant internal changes for future core maintainers should
529be noted as well.
85318b69 530
ee0887a9 531[ List each test improvement as a =item entry ]
80b6a949 532
ee0887a9 533=over 4
80b6a949 534
e2babdfb
FR
535=item *
536
a5763045
FC
537See L</Regular expressions retain their localeness when interpolated>,
538above.
e2babdfb 539
a7e93501
FC
540=item *
541
542The C<sv_cmp_flags>, C<sv_cmp_locale_flags>, C<sv_eq_flags> and
543C<sv_collxfrm_flags> functions have been added. These are like their
544non-_flags counterparts, but allow one to specify whether get-magic is
545processed.
546
547The C<sv_cmp>, C<sv_cmp_locale>, C<sv_eq> and C<sv_collxfrm> functions have
548been replaced with wrappers around the new functions.
549
550=item *
551
552A new C<sv_2bool_flags> function has been added.
553
554This is like C<sv_2bool>, but it lets the calling code decide whether
555get-magic is handled. C<sv_2bool> is now a macro that calls the new
556function.
557
558=item *
559
560A new macro, C<SvTRUE_nomg>, has been added.
561
562This is like C<SvTRUE>, except that it does not process magic. It uses the
563new C<sv_2bool_flags> function.
564
565=item *
566
567C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the
568source string) if the flags passed to it do not include SV_GMAGIC. So it
569now matches what the documentation says it does.
570
ee0887a9 571=back
e2babdfb 572
ee0887a9 573=head1 Selected Bug Fixes
e2babdfb 574
ee0887a9
SH
575XXX Important bug fixes in the core language are summarised here.
576Bug fixes in files in F<ext/> and F<lib/> are best summarised in
577L</Modules and Pragmata>.
e2babdfb 578
ee0887a9 579[ List each fix as a =item entry ]
346e4e56 580
ee0887a9 581=over 4
346e4e56 582
78846812
FR
583=item *
584
4e9f151b
FC
585A regular expression match in the right-hand side of a global substitution
586(C<s///g>) that is in the same scope will no longer cause match variables
587to have the wrong values on subsequent iterations. This can happen when an
e54f3f30
FC
588array or hash subscript is interpolated in the right-hand side, as in
589C<s|(.)|@a{ print($1), /./ }|g>
590L<[perl #19078]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=19078>.
591
592=item *
593
594Constant-folding used to cause
595
596 $text =~ ( 1 ? /phoo/ : /bear/)
597
598to turn into
599
600 $text =~ /phoo/
601
602at compile time. Now it correctly matches against C<$_>
603L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>.
78846812 604
a5763045
FC
605=item *
606
607Parsing Perl code (either with string C<eval> or by loading modules) from
608within a C<UNITCHECK> block no longer causes the interpreter to crash
609L<[perl #70614]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=70614>.
610
5a9a79a4
FC
611=item *
612
613When C<-d> is used on the shebang (C<#!>) line, the debugger now has access
614to the lines of the main program. In the past, this sometimes worked and
615sometimes did not, depending on what order things happened to be arranged
b45e2413
FC
616in memory
617L<[perl #71806]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71806>.
5a9a79a4 618
a7e93501
FC
619=item *
620
621The C<y///> or C<tr///> operator now calls get-magic (e.g., the C<FETCH>
622method of a tie) on its left-hand side just once, not twice
623L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
624
625=item *
626
627String comparison (C<eq>, C<ne>, C<lt>, C<gt>, C<le>, C<ge> and
628C<cmp>) and logical not (C<not> and C<!>) operators no longer call magic
629(e.g., tie methods) twice on their operands
630L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
631
632This bug was introduced in an earlier 5.13 release, and does not affect
633perl 5.12.
634
635=item *
636
637When a tied (or other magic) variable is used as, or in, a regular
638expression, it no longer has its C<FETCH> method called twice
639L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
640
641This bug was introduced in an earlier 5.13 release, and does not affect
642perl 5.12.
643
d4a59e54
FC
644=item *
645
8420a925 646The C<-C> command line option can now be followed by other options
d4a59e54
FC
647L<[perl #72434]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72434>.
648
dc08898c
FC
649=item *
650
651Assigning a glob to a PVLV used to convert it to a plain string. Now it
652works correctly, and a PVLV can hold a glob. This would happen when a
653nonexistent hash or array element was passed to a subroutine:
654
655 sub { $_[0] = *foo }->($hash{key});
656 # $_[0] would have been the string "*main::foo"
657
658It also happened when a glob was assigned to, or returned from, an element
659of a tied array or hash
660L<[perl #36051]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=36051>.
661
6904a83f
FC
662=item *
663
664Creating a new thread when directory handles were open used to cause a
665crash, because the handles were not cloned, but simply passed to the new
666thread, resulting in a double free.
667
668Now directory handles are properly, on systems that have a C<fchdir>
669function. On other systems, new threads simply do not inherit directory
670handles from their parent threads
671L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
672
cffb3698
FC
673=item *
674
ab4c2c27
FC
675The regular expression parser no longer hangs when parsing C<\18> and
676C<\88>.
677
678This bug was introduced in version 5.13.5 and did not affect earlier
679versions
680L<[perl #78058]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78058>.
681
be1cc451
FC
682=item *
683
684Subroutine redefinition works once more in the debugger
685L<[perl #48332]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=48332>.
686
b20c4ee1
FC
687=item *
688
689The C<&> C<|> C<^> bitwise operators no longer coerce read-only arguments
690L<[perl #20661]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=20661>.
691
afa74577
FC
692=item *
693
694Stringifying a scalar containing -0.0 no longer has the affect of turning
695false into true
696L<[perl #45133]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=45133>.
697
4c793fe3
FR
698=back
699
962fbe1d
SH
700=head1 Known Problems
701
ee0887a9
SH
702XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
703tests that had to be C<TODO>ed for the release would be noted here, unless
704they were specific to a particular platform (see below).
962fbe1d 705
ee0887a9
SH
706This is a list of some significant unfixed bugs, which are regressions
707from either 5.XXX.XXX or 5.XXX.XXX.
962fbe1d 708
ee0887a9
SH
709[ List each fix as a =item entry ]
710
711=over 4
08d032c0
SH
712
713=item *
714
ee0887a9 715XXX
962fbe1d
SH
716
717=back
718
ee0887a9 719=head1 Obituary
4c793fe3 720
ee0887a9
SH
721XXX If any significant core contributor has died, we've added a short obituary
722here.
0195fb5f 723
405fd67e
DG
724=head1 Errata
725
726=over 4
727
728=item *
729
730Fixed a typo in L<perl5135delta> regarding array slices and smart matching
731
732=back
733
ee0887a9 734=head1 Acknowledgements
0195fb5f 735
ee0887a9 736XXX The list of people to thank goes here.
4c793fe3
FR
737
738=head1 Reporting Bugs
739
740If you find what you think is a bug, you might check the articles
741recently posted to the comp.lang.perl.misc newsgroup and the perl
742bug database at http://rt.perl.org/perlbug/ . There may also be
743information at http://www.perl.org/ , the Perl Home Page.
744
745If you believe you have an unreported bug, please run the B<perlbug>
746program included with your release. Be sure to trim your bug down
747to a tiny but sufficient test case. Your bug report, along with the
748output of C<perl -V>, will be sent off to perlbug@perl.org to be
749analysed by the Perl porting team.
750
751If the bug you are reporting has security implications, which make it
752inappropriate to send to a publicly archived mailing list, then please send
ee0887a9 753it to perl5-security-report@perl.org. This points to a closed subscription
4c793fe3
FR
754unarchived mailing list, which includes all the core committers, who be able
755to help assess the impact of issues, figure out a resolution, and help
756co-ordinate the release of patches to mitigate or fix the problem across all
ee0887a9 757platforms on which Perl is supported. Please only use this address for
4c793fe3
FR
758security issues in the Perl core, not for modules independently
759distributed on CPAN.
760
761=head1 SEE ALSO
762
763The F<Changes> file for an explanation of how to view exhaustive details
764on what changed.
765
766The F<INSTALL> file for how to build Perl.
767
768The F<README> file for general stuff.
769
770The F<Artistic> and F<Copying> files for copyright information.
771
772=cut