Rename VMS-unfriendly multi-dot files.
[p5sagit/p5-mst-13.2.git] / pod / perl5113delta.pod
CommitLineData
2e8102e6 1=head1 NAME
2
3[ this is a template for a new perldelta file. Any text flagged as
4XXX needs to be processed before release. ]
5
6perldelta - what is new for perl v5.11.3
7
8=head1 DESCRIPTION
9
10This document describes differences between the 5.11.3 release and
11the 5.11.3 release.
12
13If you are upgrading from an earlier release such as 5.11.3, first read
14the L<perl5XXXdelta>, which describes differences between 5.11.3 and
155.10.0
16
17=head1 Notice
18
19XXX Any important notices here
20
21=head1 Incompatible Changes
22
23XXX For a release on a stable branch, this section aspires to be:
24
25 There are no changes intentionally incompatible with 5.11.3. If any
26 exist, they are bugs and reports are welcome.
27
28
29=head1 Core Enhancements
30
31XXX New core language features go here. Summarise user-visible core language
32enhancements. Particularly prominent performance optimisations could go
33here, but most should go in the L</Performance Enhancements> section.
34
283b82dc 35=head2 Unicode version
36
37Perl is shipped with the latest Unicode version, 5.2, October 2009. See
38L<http://www.unicode.org/versions/Unicode5.2.0> for details about this release
39of Unicode.
40
37e2e78e 41But, an installation can now fairly easily change Perl to operate on any
42Unicode release. Perl is shipped with the latest official release, but
43an installation can download and install any prior release from Unicode, and
44cause Perl to work with that (or even multiple releases). Instructions are in
45L<perlunicode>.
46
8d814567 47=head2 Unicode properties
48
49Perl can now handle every Unicode character property. A new pod,
50L<perluniprops>, lists all available non-Unihan character properties. By
51default the Unihan properties and certain others (deprecated and Unicode
52internal-only ones) are not exposed. See below for more details on
53these; there is also a section in the pod listing them, and why they are
54not exposed.
55
56Perl now fully supports the Unicode compound-style of using C<=> and C<:>
57in writing regular expressions: C<\p{property=value}> and
58C<\p{property:value}> (both of which mean the same thing).
59
60Perl now supports fully the Unicode loose matching rules for text
61between the braces in C<\p{...}> constructs. In addition, Perl also allows
62underscores between digits of numbers.
63
64All the Unicode-defined synonyms for properties and property values are
65now accepted.
66
37e2e78e 67C<qr/\X/>, which matches a Unicode logical character, has been expanded to work
68better with various Asian languages. It now is defined as an C<extended
69grapheme cluster>. (See L<http://www.unicode.org/reports/tr29/>). One change
70due to this is that C<\X> will match the whole sequence C<S<CR LF>>. Another
71change is that C<\X> will match an isolated mark. Marks generally come after a
72base character, but it is possible in Unicode to have them in isolation, and
73C<\X> will now handle that case. Otherwise, this change should be transparent
74for the non-affected languages.
75
8d814567 76C<\p{...}> matches using the Canonical_Combining_Class property were
77completely broken in previous Perls. This is now fixed.
78
79In previous Perls, the Unicode Decomposition_Type=Compat property and a
80Perl extension had the same name, which led to neither matching all the
81correct values (with more than 100 mistakes in one, and several thousand
82in the other). The Perl extension has now been renamed to be
83Decomposition_Type=Noncanonical (short: dt=noncanon). It has the same
84meaning as was previously intended, namely the union of all the
85non-canonical Decomposition types, with Unicode Compat being just one of
86those.
87
88C<\p{Uppercase}> and C<\p{Lowercase}> have been brought into line with the
89Unicode definitions. This means they each match a few more characters
90than previously.
91
92C<\p{Cntrl}> now matches the same characters as C<\p{Control}>. This means it
93no longer will match Private Use (gc=co), Surrogates (gc=cs), nor Format
94(gc=cf) code points. The Format code points represent the biggest
95possible problem. All but 36 of them are either officially deprecated
96or strongly discouraged from being used. Of those 36, likely the most
97widely used are the soft hyphen (U+00AD), and BOM, ZWSP, ZWNJ, WJ, and
98similar, plus Bi-directional controls.
99
100C<\p{Alpha}> now matches the same characters as C<\p{Alphabetic}>. The Perl
101definition included a number of things that aren't really alpha (all
102marks), while omitting many that were. The Unicode definition is
103clearly better, so we are switching to it. As a direct consequence, the
104definitions of C<\p{Alnum}> and C<\p{Word}> which depend on Alpha also change.
105
106C<\p{Word}> also now doesn't match certain characters it wasn't supposed
107to, such as fractions.
108
109C<\p{Print}> no longer matches the line control characters: tab, lf, cr,
110ff, vt, and nel. This brings it in line with the documentation.
111
112\p{Decomposition_Type=Canonical} now includes the Hangul syllables
113
114The Numeric type property has been extended to include the Unihan
115characters.
116
117There is a new Perl extension, the 'Present_In', or simply 'In'
118property. This is an extension of the Unicode Age property, but
119C<\p{In=5.0}> matches any code point whose usage has been determined as of
120Unicode version 5.0. The C<\p{Age=5.0}> only matches code points added in 5.0.
121
122A number of properties did not have the correct values for unassigned
123code points. This is now fixed. The affected properties are
124Bidi_Class, East_Asian_Width, Joining_Type, Decomposition_Type,
125Hangul_Syllable_Type, Numeric_Type, and Line_Break.
126
127The Default_Ignorable_Code_Point, ID_Continue, and ID_Start properties
128have been updated to their current definitions.
129
130Certain properties that are supposed to be Unicode internal-only were
131erroneously exposed by previous Perls. Use of these in regular
132expressions will now generate a deprecated warning message, if those
133warnings are enabled. The properties are: Other_Alphabetic,
134Other_Default_Ignorable_Code_Point, Other_Grapheme_Extend,
135Other_ID_Continue, Other_ID_Start, Other_Lowercase, Other_Math, and
136Other_Uppercase.
137
8d814567 138An installation can now fairly easily change which Unicode properties
139Perl understands. As mentioned above, certain properties are by default
140turned off. These include all the Unihan properties (which should be
141accessible via the CPAN module Unicode::Unihan) and any deprecated or
142Unicode internal-only property that Perl has never exposed.
143
144The files in the To directory are now more clearly marked as being
145stable, directly usable by applications. New hash entries in them give
146the format of the normal entries which allows for easier machine
147parsing. Perl can generate files in this directory for any property,
148though most are suppressed. An installation can choose to change which
149get written. Instructions are in L<perluniprops>.
150
2e8102e6 151=head1 New Platforms
152
153XXX List any platforms that this version of perl compiles on, that previous
154versions did not. These will either be enabled by new files in the F<hints/>
155directories, or new subdirectories and F<README> files at the top level of the
156source tree.
157
158=head1 Modules and Pragmata
159
160XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
161go here, in a list ordered by distribution name. Minimally it should be the
162module version, but it's more useful to the end user to give a paragraph's
163summary of the module's changes. In an ideal world, dual-life modules would
164have a F<Changes> file that could be cribbed.
165
166=head2 New Modules and Pragmata
167
168=over 4
169
170=item C<XXX>
171
172XXX
173
174=back
175
176=head2 Pragmata Changes
177
178=over 4
179
180=item C<XXX>
181
182XXX
183
184=back
185
186=head2 Updated Modules
187
188=over 4
189
190=item C<XXX>
191
192XXX
193
194=back
195
196=head1 Utility Changes
197
198XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
199here. Most of these are built within the directories F<utils> and F<x2p>.
200
201=over 4
202
203=item F<XXX>
204
205XXX
206
207=back
208
209=head1 New Documentation
210
211XXX Changes which create B<new> files in F<pod/> go here.
212
213=over 4
214
215=item L<XXX>
216
217XXX
218
219=back
220
221=head1 Changes to Existing Documentation
222
223XXX Changes which significantly change existing files in F<pod/> go here.
224Any changes to F<pod/perldiag.pod> should go in L</New or Changed Diagnostics>.
225
226
227=head1 Performance Enhancements
228
229XXX Changes which enhance performance without changing behaviour go here. There
230may well be none in a stable release.
231
232=over 4
233
234=item *
235
236XXX
237
238=back
239
240=head1 Installation and Configuration Improvements
241
242XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
243go here.
244
245=head2 Configuration improvements
246
247XXX
248
249=head2 Compilation improvements
250
251XXX
252
253=head2 Platform Specific Changes
254
255=over 4
256
257=item XXX-some-platform
258
259XXX
260
261=back
262
263=head1 Selected Bug Fixes
264
265XXX Important bug fixes in the core language are summarised here.
266Bug fixes in files in F<ext/> and F<lib/> are best summarised in
267L</Modules and Pragmata>.
268
269=over 4
270
271=item *
272
273XXX
274
275=back
276
277=head1 New or Changed Diagnostics
278
279XXX New or changed warnings emitted by the core's C<C> code go here.
280
281=over 4
282
283=item C<XXX>
284
285XXX
286
287=back
288
289=head1 Changed Internals
290
291XXX Changes which affect the interface available to C<XS> code go here.
292
293=over 4
294
295=item *
296
297XXX
298
299=back
300
301=head1 New Tests
302
303XXX Changes which create B<new> files in F<t/> go here. Changes to
304existing files in F<t/> aren't worth summarising, although the bugs that
305they represent may be.
306
307=over 4
308
309=item F<XXX>
310
311XXX
312
313=back
314
315=head1 Known Problems
316
317XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
318tests that had to be C<TODO>ed for the release would be noted here, unless
319they were specific to a particular platform (see below).
320
321This is a list of some significant unfixed bugs, which are regressions
322from either 5.11.3 or 5.11.3.
323
324=over 4
325
326=item *
327
328XXX
329
330=back
331
332=head1 Deprecations
333
334XXX Add any new known deprecations here.
335
336The following items are now deprecated.
337
338=over 4
339
13a4a486 340=item Use of "goto" to jump into a construct is deprecated
2e8102e6 341
13a4a486 342Using C<goto> to jump from an outer scope into an inner
343scope is now deprecated. This rare use case was causing
344problems in the implementation of scopes.
2e8102e6 345
346=back
347
348=head1 Platform Specific Notes
349
350XXX Any changes specific to a particular platform. VMS and Win32 are the usual
351stars here. It's probably best to group changes under the same section layout
352as the main perldelta
353
354=head1 Obituary
355
356XXX If any significant core contributor has died, we've added a short obituary
357here.
358
359=head1 Acknowledgements
360
361XXX The list of people to thank goes here.
362
363
364=head1 Reporting Bugs
365
366If you find what you think is a bug, you might check the articles
367recently posted to the comp.lang.perl.misc newsgroup and the perl
368bug database at http://rt.perl.org/perlbug/ . There may also be
369information at http://www.perl.org/ , the Perl Home Page.
370
371If you believe you have an unreported bug, please run the B<perlbug>
372program included with your release. Be sure to trim your bug down
373to a tiny but sufficient test case. Your bug report, along with the
374output of C<perl -V>, will be sent off to perlbug@perl.org to be
375analysed by the Perl porting team.
376
377If the bug you are reporting has security implications, which make it
378inappropriate to send to a publicly archived mailing list, then please send
379it to perl5-security-report@perl.org. This points to a closed subscription
380unarchived mailing list, which includes all the core committers, who be able
381to help assess the impact of issues, figure out a resolution, and help
382co-ordinate the release of patches to mitigate or fix the problem across all
383platforms on which Perl is supported. Please only use this address for
384security issues in the Perl core, not for modules independently
385distributed on CPAN.
386
387=head1 SEE ALSO
388
389The F<Changes> file for an explanation of how to view exhaustive details
390on what changed.
391
392The F<INSTALL> file for how to build Perl.
393
394The F<README> file for general stuff.
395
396The F<Artistic> and F<Copying> files for copyright information.
397
398=cut
7ef88767 399
400
401
402
403All changes through commit b4178430270dbe109e7609d0b50d6d54bf9e95d8
404One "triage" pass done.
405
406A second triage pass is still needed to remove unimportant changes
407
408commit f13b7ac8b084674447e000c42d094f46b04c5dd7
409
410 manicheck's complaints about missing files are now closer to the form
411 you might want to paste into a MANIFEST
412
413commit 0e38ac7805aa91d94a5718273a06c051670207ca
414Author: Gerard Goossen <gerard@ggoossen.net>
415Date: Fri Dec 18 18:41:00 2009 +0100
416
417 When discarding a token free the op associated with it.
418
419 Fixes memory leak in comp/parser.t
420
421 Gerard Goossen
422
423 From 7694ec023ec8856f34964b5eeea58f1b588c89bc Mon Sep 17 00:00:00 2001
424 From: Gerard Goossen <gerard@ggoossen.net>
425 Date: Fri, 18 Dec 2009 18:32:11 +0100
426 Subject: [PATCH 4/4] When discarding a token free the op associated with it.
427 Status: O
428 Content-Length: 438
429 Lines: 20
430
431 Bring up ExtUtils::MakeMaker to 6.56 - no functional changes from 6.55_03
432
433 Import CPAN.pm 1.94_53 from CPAN
434
435commit 587808146dcf7a2a909b351c4c32085e6fcb74dc
436Author: Gerard Goossen <gerard@ggoossen.net>
437Date: Fri Dec 18 15:11:25 2009 +0100
438
439 Free the PL_scopestack_name
440
441 Gerard Goossen
442
443
444commit 9307c420fad2f6f5bd314f9ed66dd53288703e09
445Author: Jan Dubois <jand@activestate.com>
446Date: Thu Dec 17 18:28:16 2009 -0800
447
448 Export PL_curinterp symbol for MULTIPLICITY without USE_ITHREADS
449
450 This is necessary for XS extensions that define PERL_CORE. In that
451 situation PERL_GET_CONTEXT will resolve to PL_curinterp, which is
452 normally not exported (extensions call Perl_Gcurinterp_ptr() to get a
453 pointer to PL_curinterp instead). With USE_ITHREADS defined
454 PERL_GET_CONTEXT will expand to Perl_get_context() even inside the
455 core because the context needs to be fetched from threadlocal storage.
456
457commit 8703a9a4fd75723318bc4ba1afc42a215806f2d1
458Author: Max Maischein <corion@corion.net>
459Date: Thu Dec 17 23:22:39 2009 +0100
460
461 Correct some #ifdef USE_ITHREADS / USE_MULTI
462
463commit 229c5935ba2b931e7f367cc5b2706adeee57ee47
464Author: David Golden <dagolden@cpan.org>
465Date: Thu Dec 17 17:59:27 2009 -0500
466
467 Updated Module::Build to 0.35_15
468
469commit feb517daa146d8e378d6d18de1ce5d7dc752383d
470Author: Chris Williams <chris@bingosnet.co.uk>
471Date: Thu Dec 17 22:08:48 2009 +0000
472
473 Updated CPANPLUS to cpan release 0.90
474
475Author: Jan Dubois <jand@activestate.com>
476Date: Wed Dec 16 15:42:19 2009 -0800
477
478 -t should only return TRUE for file handles connected to a TTY
479
480 The Microsoft C version of isatty() returns TRUE for all
481 character mode devices, including the /dev/null style "nul"
482 device and printers like "lpt1".
483
484 The included test has only been tested on Windows and Linux;
485 the device names for OS/2 and VMS are just best guesses...
486
487commit ab106183f6f6440236f5be52e2a171a63882946a
488Author: Abigail <abigail@abigail.be>
489Date: Wed Dec 16 14:01:32 2009 +0100
490
491 Document issues when using named captures in combination with a branch reset pattern (see also #71136)
492
493commit 8c63ea58497f2deb05596f96547d19395545a0ee
494Author: Gerard Goossen <gerard@ggoossen.net>
495Date: Tue Dec 8 20:41:28 2009 +0100
496
497 Store the PL_compcv instead of the the PL_comppad in parser stack, and make it reference counted. Properly solves [perl #66094]
498
499commit 9d48bc6db099a4f84cb04d1ada69930fb35f8da1
500Author: Jesse Vincent <jesse@bestpractical.com>
501Date: Tue Dec 15 21:08:40 2009 -0500
502
503 Update File::Copy tests to skip on OpenBSD, as it mounts too many filesystems nosuid.
504
505commit 2574563ed1cc89a9149d4a253b94199eab5bdf71
506Author: Tim Bunce <Tim.Bunce@pobox.com>
507Date: Tue Dec 15 23:04:11 2009 +0000
508
509 Allow override of PERL5OPT etc in t/TEST
510
511commit 6a158b577769363e3a34f3dcb7321a0e933d3353
512Author: Rafael Garcia-Suarez <rgs@consttype.org>
513Date: Wed Dec 16 00:04:34 2009 +0100
514
515 Don't make C<use legacy> die on unknown legacy names
516
517 So we can use C<use legacy "qubits"> to avoid the new "qubit" behaviour,
518 without worrying about perls that didn't have qubit support at all. :)
519
520commit 421f30ed1e95009450bdc7905bf3433ee806ea4f
521
522 [perl #22977] Bug in format/write
523
524commit 15dc519fb7cb1c4b51fbc196af8ecf273c534ad1
525
526 [perl #68640] Wrong error for undef constant name
527
528commit 1443f10d16f26271d2df9b4bdda55dbe024319c3
529
530 more regex folding tests
531
532commit 0f907b96d618c97cd2e020841a70ae037954a616
533
534 [perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_ parameter passing)
535
536 In this case my %x = %$x assigns a hash to itself. This causes the
537 hv_clear in pp_aassign to wipe away the hash before it can be copied.
538 The â\80\98panic: attempt to copy freed scalarâ\80\99 error is triggered by this
539 line, which copies the value:
540 sv_setsv(tmpstr,*relem); /* value */
541
542 The solution is to make sure the OPpASSIGN_COMMON flag is on in such
543 cases, so that pp_aassign copies everything before doing the assignment.
544
545commit 2ab54efd6265713df5cd4bd0927024245675c1c2
546Author: Michael Breen <perl@mbreen.com>
547
548 fix bug 67156: overload: nomethod(..., '!') return value inverted
549
550commit 412147f664b7f5805591ad996d7e5a9e70b3d80f
551
552 [perl #71204] diagnostics.pm suppresses 'Use of uninitialized value in range (or flip)' warning
553
554 (and bump version of diagnostics.pm)
555
556commit 2653dd3c22bd18d7877da53d515dc31c46d8fbea
557Author: Reini Urban <rurban@x-ray.at>
558Date: Mon Dec 14 13:04:37 2009 +0100
559
560 cygwin IPv6 since 1.7
561
562 Use g++ as default linker
563 IPv6 support for 1.7
564
565commit 69dc4b30f4725ad5f212d45d3c856ac1caaacf17
566Author: Father Chrysostomos <sprout@cpan.org>
567Date: Mon Dec 14 12:19:35 2009 +0100
568
569 [perl #70764] $' fails to initialized for pre-compiled regular expression matches
570
571 The match vars are associated with the regexp that last matched
572 successfully. In the case of $str =~ $qr or /$qr/, since the $qr could
573 be used in multiple scopes that need their own sets of match vars, the
574 $qr is cloned by Perl_reg_temp_copy as of change 30677/28d8d7f. This
575 happens in pp_regcomp before pp_match has stringified the LHS, hence the
576 bug. In short, /$gror/ is not equivalent to
577 ($which = !$which) ? /$gror/ : /$gror/, which is weird.
578
579Author: Reini Urban <rurban@x-ray.at>
580Date: Sun Dec 13 08:06:43 2009 +0100
581
582 Eliminate OP_SETSTATE from cop.h header
583
584 It had been added with change 3728 to track linenumbers in
585 optimized else, disabled by change 4309,
586 and removed with change 33072.
587
588 Bump copyright, latest change was "Fix MULTICALL in List-Util" 2009-03-07
589 with commit 1bbbfc50
590
591commit 9c7b20a98a1d5faa39d9d097a77c2bf4a0a19daa
592Author: Jesse Vincent <jesse@bestpractical.com>
593Date: Thu Dec 10 13:14:24 2009 -0500
594
595 Update Cwd / PathTools to 3.31 to get us a non-devel version number based on a chat with Steffen. No code changes.
596
597commit a242eeb4c06c63af5ec7e01d5602b14bde94aa81
598Author: Jesse Vincent <jesse@bestpractical.com>
599Date: Thu Dec 10 11:44:26 2009 -0500
600
601 Updated to Pod::Simple 3.11 from CPAN [perl #71004]
602
603commit f62b3c7e73b3b864bf7c73fdb4e6dff9f9c0f700
604Author: Chris Williams <chris@bingosnet.co.uk>
605Date: Thu Dec 10 12:16:57 2009 +0000
606
607 Update Archive::Extract to cpan version 0.36
608
609commit 0aa6d4a524fe5cbd48c99d293e1d8b643ab0387a
610Author: Reini Urban <rurban@x-ray.at>
611Date: Wed Dec 9 17:45:44 2009 -0500
612
613 Updated docpointer for illguts
614
615commit 85613cabfd8d8a9b6b36082819bd6c38e1bb21c7
616Author: Zefram <zefram@fysh.org>
617Date: Wed Dec 9 17:40:05 2009 -0500
618
619 Fix for [perl #70910] wrong line number in syntax error message
620
621commit ecf5c238cfc27e32b6ca4c6d91b92bf8852e36b2
622Author: Andy Dougherty <doughera@lafayette.edu>
623Date: Tue Dec 8 11:36:54 2009 -0500
624
625 Document config_args limitations reported in [perl #70912]
626
627commit f6435df36c4167f97876032948ee21a446b75f27
628Author: Gerard Goossen <gerard@ggoossen.net>
629Date: Tue Dec 8 12:42:58 2009 +0100
630
631 proper error on "grep $x (1,2,3)". Solves [perl #37314]
632
633commit 13290fcd82823e130109fca5199c99fb886e29eb
634Author: Tony Cook <tony@develop-help.com>
635Date: Tue Dec 8 12:48:59 2009 +0100
636
637 [perl #70802] -i'*' refuses to work
638
639 Add regression tests
640 (the bug was fixed by commit c9930541bfa04399c3b648e83c9b750cee1154fb)
641
642commit 93592fd5aeec89ac25994a493ef54e1d7a572d65
643Author: Ricardo Signes <rjbs@cpan.org>
644Date: Mon Dec 7 18:24:59 2009 -0500
645
646 legalize =begin foo bar
647
648commit b41aadf259cf55858c5ab0386356cdbe2dc49a6b
649Author: Ricardo Signes <rjbs@cpan.org>
650Date: Mon Dec 7 18:21:44 2009 -0500
651
652 more aggressively deprecate L<section> and L<"section">
653
654commit f6e963e4dd62b8e3c01b31f4a4dd57e47e104997
655Author: Ricardo Signes <rjbs@cpan.org>
656Date: Mon Dec 7 18:19:28 2009 -0500
657
658 remove prohibition against L<text|href>
659
660commit 1cb985b013ea71b82afbc114ed06f94d451f5e04
661Author: Jan Dubois <jand@activestate.com>
662Date: Mon Dec 7 17:19:18 2009 -0800
663
664 Throw away uncleanable scopes when exiting a pseudo-forked process.
665
666 Commit adab9969 tried to clean up those additional scopes, but failed
667 because some of the memory was allocated from a different pool. To
668 avoid triggering the assert() in perl_destruct() this change instead
669 moves the one remaining scope back to the root of the stack, effectively
670 discarding the additional frames without any further processing.
671
672commit 1144115d25e28286dc02b44859da121ea1b93f1c
673commit 8a27a13e89107aaf68c0748b68ee71fbd86d774b
674Author: Father Chrysostomos <sprout@cpan.org>
675Date: Mon Dec 7 14:58:40 2009 +0100
676
677 [perl #71076] sort with active sub (5.10 regression)
678
679 One of the tests in sort.t causes a bus error (or sometimes â\80\98Undefined
680 subroutine calledâ\80\99) if run multiple times. This is because sort
681 decreases the refcount of an active sub used as a comparison routine.
682
683 Ironically enough, this test was added by the very change that broke it
684 (25953/9850bf2).
685
686commit 6bc991bfb3c34a5d286a1202fcc0d740d72dcee7
687Author: Rafael Garcia-Suarez <rgs@consttype.org>
688Date: Mon Dec 7 13:55:49 2009 +0100
689
690 Allocate the right HV
691
692 This will solve an obscure bug in smart-match involving nested data
693 structures containing the same elements.
694
695commit 69c3dccf5322a59cb855347c04712ba11b65328f
696Author: Rafael Garcia-Suarez <rgs@consttype.org>
697Date: Mon Dec 7 13:41:05 2009 +0100
698
699 Fix [perl #71078] Smart match against @_ gives false negatives
700
701 @_ can contain NULLs for undefined elements
702
703commit 7baa46900628573770d962400725b38c0773bf47
704Author: hv@crypt.org <hv@crypt.org>
705Date: Sun Dec 6 22:24:39 2009 +0100
706
707 [perl #71000] Wrong variable name in warning
708
709 Add a new warning "Missing argument in %s"
710
711commit f89a570b1f4dda1c19dab17cb7eb6914cdc0717c
712Author: Chip Salzenberg <chip@ci005.sv2.upperbeyond.com>
713Date: Wed Oct 28 17:08:05 2009 -0700
714
715 avoid infinite chain of utf8 magic
716
717commit 806e7ca7a95b2271bcd698a87bd05a4b9ea9ae68
718Author: Chip Salzenberg <chip@pobox.com>
719Date: Mon Oct 26 19:39:20 2009 -0700
720
721 when removing magic, fix SvMAGICAL flags (unless save_magic is active)
722
723commit f9c6fee519b868a2e8ef8c5b701c0d3f95565423
724Author: Chip Salzenberg <chip@ci005.sv2.upperbeyond.com>
725Date: Wed Oct 28 16:41:02 2009 -0700
726
727 preserve readonly flag when saving and restoring magic flags
728
729commit 077f834239e40e0523e428946baaf95eaec43724
730Author: hv@crypt.org <hv@crypt.org>
731Date: Fri Dec 4 18:50:02 2009 -0600
732
733 t/test.pl fresh_perl_like() bug
734
735 The existing code does the wrong thing if a string (rather than a compiled
736 regexp) is supplied for $expected. Happily perl will do the right thing
737 if you let it.
738
739 Hugo
740
741 Message-Id: <200912041444.nB4EiqBj004436@zen.crypt.org>
742
743commit 517956bf3975a79f7429698dce4510d4616b19a3
744Author: Craig A. Berry <craigberry@mac.com>
745Date: Fri Dec 4 17:48:27 2009 -0600
746
747 Port lib/unicore/mktables to VMS.
748
749 This is mostly just making filename comparisons and lookups of filenames
750 in hashes case blind, which is necessary since filename case is not
751 (by default) preserved.
752
753commit a756042476315fbf04b4211a7dfb5783ff6cba2f
754Author: Nicholas Clark <nick@ccl4.org>
755Date: Fri Dec 4 15:16:04 2009 +0000
756
757 Silence Win32 compiler warning
758
759 Subject: Re: Smoke [5.11.2] v5.11.2-105-gc2123ae FAIL(F) MSWin32 Win2000 SP4 (x86/1 cpu)
760 Message-ID: <20091204140536.GD2582@plum.flirble.org>
761
762 (amended to fix the obvious typo)
763
764commit 283b82dc9f704fb99591ed28497a6a263e6ef519
765Author: Karl Williamson <khw@khw-desktop.(none)>
766Date: Wed Dec 2 21:36:17 2009 -0700
767
768 Unicode 5.2
769
770commit c9930541bfa04399c3b648e83c9b750cee1154fb
771Author: Tony Cook <tony@develop-help.com>
772Date: Thu Dec 3 10:20:09 2009 +0100
773
774 [perl #70802] -i'*' refuses to work
775
776commit c2123ae380a372d506d1b6938667bd785fd8728b
777Author: Nicholas Clark <nick@ccl4.org>
778Date: Wed Dec 2 16:01:10 2009 +0000
779
780 Ensure that pp_qr returns a new regexp SV each time. Resolves RT #69852.
781
782 Instead of returning a(nother) reference to the (pre-compiled) regexp in the
783 optree, use reg_temp_copy() to create a copy of it, and return a reference to
784 that. This resolves issues about Regexp::DESTROY not being called in a timely
785 fashion (the original bug tracked by RT #69852), as well as bugs related to
786 blessing regexps, and of assigning to regexps, as described in correspondence
787 added to the ticket.
788
789 It transpires that we also need to undo the SvPVX() sharing when ithreads
790 cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
791 copy of the mother_re. This change might fix bugs with regexps and threads in
792 certain other situations, but as yet neither tests nor bug reports have
793 indicated any problems, so it might not actually be an edge case that it's
794 possible to reach.
795
796commit adab996997d7ef1b54d382f5ab4304f438cd1dd0
797Author: Jan Dubois <jand@activestate.com>
798Date: Wed Dec 2 01:34:18 2009 -0800
799
800 Cleanup all scopes before exiting a pseudo-forked process.
801
802 perl_destruct() contains an assertion that the scope stack
803 is empty. The remaining scopes are due to fork() being
804 called from within a BEGIN block.
805
806commit 781ecc3f4e65a5261736cf5fa8e56b6bea2ff71a
807Author: Jan Dubois <jand@activestate.com>
808Date: Tue Dec 1 23:11:03 2009 -0800
809
810 Revert commit cbdd5331.
811
812 Commit a09dc31d1 says:
813
814 It's possible that someone has built a module with -DDEBUGGING,
815 but they're using it against a perl built non-DEBUGGING, [...]
816
817 which means that the PL_scopestack_name symbol must always be exported.
818
819commit 0b3da58dfdc350792109691bb6c07a48109b9e12
820Author: Tony Cook <tony@develop-help.com>
821Date: Tue Dec 1 22:25:39 2009 +1100
822
823 -Dmad: double free or corruption
824
825 > If your perl has -Dmad, the following program crashes:
826 >
827 > $ bleadperl -we '$x="x" x 257; eval "for $x"'
828 > *** glibc detected *** bleadperl: double free or corruption (!prev): 0x0000000001dca670 ***
829
830 Change 6136c704 changed S_scan_ident from:
831
832 e = d + destlen - 3;
833
834 to:
835
836 register char * const e = d + destlen + 3;
837
838 where e is used to mark the end of the buffer, this meant that the
839 various buffer end checks allowed the various buffers supplied
840 S_scan_ident to overflow.
841
842 Attached is a fix, various tests with fencepost checks on different
843 identifier lengths, and the specific case mentioned in the ticket.
844
845 Tony
846
847 Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
848
849commit 5ca68648d92617d8e0deebbc877c24f91be5ce4d
850Author: Tony Cook <tony@develop-help.com>
851Date: Tue Dec 1 19:12:30 2009 +1100
852
853 -Dmad broken for c++
854
855 On Tue, Dec 01, 2009 at 08:22:38AM +0100, H.Merijn Brand wrote:
856 > perly.y: In function 'int Perl_madparse(PerlInterpreter*)':
857 > perly.y:335: error: cast from 'TOKEN*' to 'line_t' loses precision
858 > perly.y:348: error: cast from 'TOKEN*' to 'line_t' loses precision
859 > perly.y:430: error: cast from 'TOKEN*' to 'line_t' loses precision
860
861 Uses the same mechanism used in if, unless to retrieve an ival set in
862 toke.c
863
864 Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
865
866commit 576b33a19ccaf98d4dfe201d529c55c3747f0cb6
867Author: Tim Bunce <Tim.Bunce@pobox.com>
868Date: Tue Dec 1 00:15:21 2009 +0100
869
870 [rt.cpan.org #51574] Safe.pm sort {} bug accessing $a and $b with -Dusethreads
871
872commit c362798e2bfee6dd58e97b97c7f3aa37c2c6af9f
873Author: Zefram <zefram@fysh.org>
874Date: Mon Nov 30 11:42:14 2009 +0100
875
876 Document if.pm in perlfunc
877
878commit 71eaafb1e6768e777bc805cc8490b55c6e77da64
879Author: Rafael Garcia-Suarez <rgs@consttype.org>
880Date: Mon Nov 30 10:30:41 2009 +0100
881
882 Make distclean work again
883
884commit ee6ba15dedda3e88eb66891eaf387c00a4c0a2fb
885Author: Eric Brine <ikegami@adaelis.com>
886Date: Thu Nov 26 19:16:16 2009 -0500
887
888 Fix -DPERL_NO_UTF16_FILTER
889
890commit 75068674a0c83a71b3705f2c6000b34d849b9640
891Author: Rafael Garcia-Suarez <rgs@consttype.org>
892Date: Sun Nov 29 23:30:45 2009 +0100
893
894 Make split warn in void context
895
896commit dfd167e94af611f6248e804cb228b35ca4123bd6
897Author: Nicholas Clark <nick@ccl4.org>
898Date: Sun Nov 29 19:02:05 2009 +0000
899
900 Handle $@ being assigned a read-only value (without error or busting the stack).
901
902 Discovered whilst investigating RT #70862.
903
904commit f5fa9033b8c1fdcbd7710850b3b0380d6b937853
905Author: Nicholas Clark <nick@ccl4.org>
906Date: Sun Nov 29 16:42:42 2009 +0000
907
908 Fix RT #70862 by converting ERRSV to GvSVn() to ensure a non-NULL GvSV().
909
910commit ff868e665bf85a829dc47bfa1243b26d4367cacd
911Author: Steve Peters <steve@fisharerojo.org>
912Date: Sat Nov 28 23:43:11 2009 -0600
913
914 Add error codes for getaddrinfo() and getnameinfo()
915
916commit 23e33b604408d78c7993c7ba35b0a4323eb9feeb
917Author: Karl Williamson <khw@khw-desktop.(none)>
918Date: Sat Nov 28 12:04:34 2009 -0700
919
920 mktables performance improvement
921
922 The attached patch got the easiest performance improvements to mktables.
923 Hopefully this is good enough for now.
924
925 This involved:
926
927 1) Nicholas' patch
928 2) I stored complete_name instead of recomputing it each time.
929 3) Used $_[xxx] instead of shift in very heavily used subroutines
930 4) removed trace accidentally left in.
931
932 I also changed the misspelled subroutine name discovered by Craig Berry.
933 I searched for any other misspellings and didn't find any.
934
935 Also removed trailing white space that keeps creeping back in, and now
936 this doesn't generate pod entries if not outputting a pod file, and
937 clarified warning message if no mktables.lst is present.
938
939 I couldn't figure out a way to conditionally use 'no overloading', as
940 it is called at compile time.  So I just commented out the old stuff
941 that will work for 5.8, with a note about using that if you want to
942 use 5.8
943
944commit 408633379a1452b4e14d7c3b5e80f7dc05ea7986
945Author: Moritz Lenz <moritz@faui2k3.org>
946Date: Fri Nov 27 00:33:09 2009 +0100
947
948 Document backreferences to groups that did not match
949
950 Also add a test for that, fill in test description, and sneak in a vim
951 modeline for re_tests
952
953commit e90b02b98382872bd43097b9b146a9b00ca3171b
954Author: Tim Bunce (via RT) <perlbug-followup@perl.org>
955Date: Wed Nov 25 03:02:24 2009 -0800
956
957 perlbug reports "Message sent" even when it hasn't
958
959 perlbug doesn't check the return status of Mail::Send and so reports
960 "Message sent" even if it hasn't:
961
962commit 17cc9359ea8ee1b546aa067b91362160e3c1e1ee
963Author: Zefram <zefram@fysh.org>
964Date: Wed Nov 25 22:17:52 2009 +0000
965
966 perl-5.11.2 breaks NYTProf savesrc option (Lexer API suspected)
967
968 Tim Bunce wrote:
969 >The primary issue is the off-by-one error in the array indexing.
970
971 There's a bit more to it than that. The indexing was off-by-one for
972 *some* places that process a new line, but correct for others, so the
973 saved source as a whole was mangled rather than simply offset. Also,
974 there were some redundant calls to update_debugger_info(), so some lines
975 got saved twice, in some cases off-by-one for one saving and not for
976 the other. The saved source is, therefore, hopelessly broken in 5.11.2.
977
978 Attached patch fixes the source saving. Includes a new test, which works
979 through all reachable places that source lines get saved. This should
980 close RT #70804.
981
982 -zefram
983
984commit f706d24c20941a6401e90643488acaa0705ba877
985Author: Gerard Goossen <gerard@ggoossen.net>
986Date: Tue Nov 24 12:13:13 2009 +0100
987
988 add interpolation test for [perl #70091]
989
990commit ae28bb2a75e3c50332b2684a214bf3dcd1bdb937
991Author: Gerard Goossen <gerard@ggoossen.net>
992Date: Tue Nov 24 12:06:55 2009 +0100
993
994 Also skip spaces after variable if we are within lexical brackets. Fixes #70091: Segmentation fault in hash lookup in regex substitution
995
996commit ec983580254c32fd44889fde43973ac5dd74257b
997Author: Andrew Rodland <andrew@hbslabs.com>
998Date: Sat Nov 14 01:26:09 2009 -0600
999
1000 Add code and starting perldoc for warnings::fatal_enabled.
1001
1002 This is an analog for warnings::enabled, except it tests whether the
1003 given category has been set fatal using "use warnings FATAL => foo".
1004 This is mostly for symmetry.
1005
1006 Assumes that the fatal bit for a category will have an offset one higher
1007 than the regular bit for the category, because otherwise much rewriting
1008 of __chk would be required.
1009
1010commit 6b1226db4432ba7f08619ebe4c5365f692dcbbf7
1011Author: Steve Hay <SteveHay@planit.com>
1012Date: Tue Nov 24 11:02:58 2009 +0000
1013
1014 Add missing library to VC++ section of Win32 dmake makefile
1015
1016commit 5e8632492467a144fabe819ac1f4206ecde8d14d
1017Author: Steve Hay <SteveHay@planit.com>
1018Date: Tue Nov 24 10:51:54 2009 +0000
1019
1020 Avoid circularity in $(LINK_FLAGS) definition in Win32 dmake makefile
1021
1022commit 524ce141dcd46f87e73a300e1436937336261b19
1023Author: Rafael Garcia-Suarez <rgs@consttype.org>
1024Date: Tue Nov 24 09:47:46 2009 +0100
1025
1026 Remove generated file pod/perluniprops.pod from the source distribution
1027
1028commit f86864acbf97469fd9e5d5233d51ff743f4d8d6e
1029Author: Karl Williamson <khw@khw-desktop.(none)>
1030Date: Mon Nov 23 16:26:16 2009 -0700
1031
1032 mktables not run unless needed
1033
1034commit aadc0e04984c523115970b0a0c0ba40ddcee3d41
1035Author: brian d foy <bdfoy@cpan.org>
1036Date: Mon Nov 23 18:53:39 2009 -0600
1037
1038 * Convert some pod files to UTF-8 (like all of the other pod files)
1039
1040commit dbb3120a48c1483138e02a3fadf359e5b664ae11
1041Author: Steve Hay <SteveHay@planit.com>
1042Date: Mon Nov 23 23:04:41 2009 +0000
1043
1044 Fix code-before-declaration error on Win32 with recent VC++ compilers
1045
1046 (We only #define SET_INVALID_PARAMETER_HANDLER for VC2005 and later, so
1047 users of earlier compilers will not have seen this error)
1048
1049commit 24855dffdf07c139d331fbdd811a1a8299756ee0
1050Author: Jerry D. Hedden <jdhedden@cpan.org>
1051Date: Mon Nov 23 10:34:04 2009 -0500
1052
1053 Upgrade to threads 1.75
1054
1055commit a9ed9b74fd79d60cccbe784b8d7b2eae94ded913
1056Author: Jesse Vincent <jesse@bestpractical.com>
1057Date: Mon Nov 23 09:38:10 2009 -0500
1058
1059 Added a perltodo about enabling/disabling individual warnings
1060
1061commit 61fc5122f0d8a509834282b8ecb3252d2e4c9f5d
1062Author: Karl Williamson <khw@khw-desktop.(none)>
1063Date: Fri Nov 20 11:02:01 2009 -0700
1064
1065 Make unicode semantics the default
1066
1067 *****************
1068
1069commit b500e03bf95eb884a53407409b4e755d303171a4
1070Author: Gerard Goossen <gerard@ggoossen.net>
1071Date: Sat Nov 21 12:16:07 2009 +0100
1072
1073 deprecate "goto" to jump into a construct
1074
1075commit 021f53de09926928546378b3552f9240c9241dde
1076Author: Gerard Goossen <gerard@ggoossen.net>
1077Date: Mon Nov 16 13:58:24 2009 +0100
1078
1079 Force OP_REQUIRE to scalar context at the end of ck_require and don't let it become void context. Fixes problem with require not always being in scalar context.
1080
1081commit 6a0e50422a84b53e998825128c56791913cd03aa
1082Author: Craig A. Berry <craigberry@mac.com>
1083Date: Sat Nov 21 11:17:38 2009 -0600
1084
1085 Make -UDEBUGGING the default on VMS for 5.12.0.
1086
1087 Like it has been everywhere else for ages and ages. Also make
1088 command-line selection of -UDEBUGGING and -DDEBUGGING work in
1089 configure.com; before the only way to turn it off was by saying
1090 no in answer to the interactive question.
1091
1092commit c35076938c7236fb2aaabecd40e3a5a444c3be77
1093Author: Craig A. Berry <craigberry@mac.com>
1094Date: Sat Nov 21 11:13:01 2009 -0600
1095
1096 Perl_pad_sv and Perl_hv_assert don't exist without -DDEBUGGING.
1097
1098 So let's not make them part of the API when they don't exist.
1099
1100commit 4ebea3c679ca93eb90d62be76bf8eb3cd7d14160
1101Author: Jan Dubois <jand@activestate.com>
1102Date: Thu Apr 30 16:53:20 2009 -0700
1103
1104 Always add a manifest resource to perl.exe to specify the <trustInfo>
1105 settings for Windows Vista and later. Without this setting Windows
1106 will treat perl.exe as a legacy application and apply various
1107 heuristics like redirecting access to protected file system areas
1108 (like the "Program Files" folder) to the users "VirtualStore"
1109 instead of generating a proper "permission denied" error.
1110
1111 For VC8 and VC9 this manifest setting is automatically generated by
1112 the compiler/linker (together with the binding information for their
1113 respective runtime libraries); for all other compilers we need to
1114 embed the manifest resource explicitly in the external resource file.
1115
1116 This change also requests the Microsoft Common-Controls version 6.0
1117 (themed controls introduced in Windows XP) via the dependency list
1118 in the assembly manifest. For VC8 and VC9 this is specified using the
1119 /manifestdependency linker commandline option instead.
1120
1121commit 51393fc07355ffd0a4b6b212fd676ee37de23e09
1122Author: Abigail <abigail@abigail.be>
1123Date: Fri Nov 20 18:58:34 2009 +0100
1124
1125 File::Find was not resolving paths of the form "/..////../" correctly.
1126 Fixed by adding a quantifier to the substitution parameter in
1127 contract_name().
1128
1129commit 31c9a3ace4f559b79a21319b8903e92f53b44868
1130Author: Nicholas Clark <nick@ccl4.org>
1131Date: Fri Nov 20 10:23:54 2009 +0000
1132
1133 Always bless filehandles into IO::Handle:: - don't try for FileHandle:: first.
1134
1135 Given that FileHandle "is now a front-end to the IO::* classes" it seems
1136 wasted effort to indirect through it.
1137
1138
1139commit 40ea6f68f5e33895a1a9d11f269b177eb901c03f
1140Author: brian d foy <bdfoy@cpan.org>
1141Date: Thu Nov 19 18:38:30 2009 -0600
1142
1143 * Note that unlink sets $! on failure.
1144
1145 The docs to unlink didn't explicitly note that it set $! on
1146 failure, unlike the docs on some other system calls do.
1147
1148 While I was in there, I cleansed the entry a little and
1149 added an example of unlinking files one-by-one to find
1150 the ones that fail.
1151
1152 Modern Perl fix: let's call a glob a glob() and not a <*>.
1153
1154 This problem was noted on the Perl Beginner's list:
1155
1156 http://www.nntp.perl.org/group/perl.beginners/2009/11/msg110062.html