First pass at cutting down the git log as a 5.11.3 changelog
[p5sagit/p5-mst-13.2.git] / pod / perl5113delta.pod
1 =head1 NAME
2
3 [ this is a template for a new perldelta file. Any text flagged as
4 XXX needs to be processed before release. ]
5
6 perldelta - what is new for perl v5.11.3
7
8 =head1 DESCRIPTION
9
10 This document describes differences between the 5.11.3 release and
11 the 5.11.3 release.
12
13 If you are upgrading from an earlier release such as 5.11.3, first read
14 the L<perl5XXXdelta>, which describes differences between 5.11.3 and
15 5.10.0
16
17 =head1 Notice
18
19 XXX Any important notices here
20
21 =head1 Incompatible Changes
22
23 XXX 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
31 XXX New core language features go here. Summarise user-visible core language
32 enhancements. Particularly prominent performance optimisations could go
33 here, but most should go in the L</Performance Enhancements> section.
34
35 =head2 Unicode version
36
37 Perl is shipped with the latest Unicode version, 5.2, October 2009.  See
38 L<http://www.unicode.org/versions/Unicode5.2.0> for details about this release
39 of Unicode.
40
41 But, an installation can now fairly easily change Perl to operate on any
42 Unicode release.  Perl is shipped with the latest official release, but
43 an installation can download and install any prior release from Unicode, and
44 cause Perl to work with that (or even multiple releases).  Instructions are in
45 L<perlunicode>.
46
47 =head2 Unicode properties
48
49 Perl can now handle every Unicode character property.  A new pod,
50 L<perluniprops>, lists all available non-Unihan character properties.  By
51 default the Unihan properties and certain others (deprecated and Unicode
52 internal-only ones) are not exposed.  See below for more details on
53 these; there is also a section in the pod listing them, and why they are
54 not exposed.
55
56 Perl now fully supports the Unicode compound-style of using C<=> and C<:>
57 in writing regular expressions: C<\p{property=value}> and
58 C<\p{property:value}> (both of which mean the same thing).
59
60 Perl now supports fully the Unicode loose matching rules for text
61 between the braces in C<\p{...}> constructs.  In addition, Perl also allows
62 underscores between digits of numbers.
63
64 All the Unicode-defined synonyms for properties and property values are
65 now accepted.
66
67 C<qr/\X/>, which matches a Unicode logical character, has been expanded to work
68 better with various Asian languages.  It now is defined as an C<extended
69 grapheme cluster>.  (See L<http://www.unicode.org/reports/tr29/>).  One change
70 due to this is that C<\X> will match the whole sequence C<S<CR LF>>.  Another
71 change is that C<\X> will match an isolated mark.  Marks generally come after a
72 base character, but it is possible in Unicode to have them in isolation, and
73 C<\X> will now handle that case.  Otherwise, this change should be transparent
74 for the non-affected languages.
75
76 C<\p{...}> matches using the Canonical_Combining_Class property were
77 completely broken in previous Perls.  This is now fixed.
78
79 In previous Perls, the Unicode Decomposition_Type=Compat property and a
80 Perl extension had the same name, which led to neither matching all the
81 correct values (with more than 100 mistakes in one, and several thousand
82 in the other).  The Perl extension has now been renamed to be
83 Decomposition_Type=Noncanonical (short: dt=noncanon).  It has the same
84 meaning as was previously intended, namely the union of all the
85 non-canonical Decomposition types, with Unicode Compat being just one of
86 those.
87
88 C<\p{Uppercase}> and C<\p{Lowercase}> have been brought into line with the
89 Unicode definitions.  This means they each match a few more characters
90 than previously.
91
92 C<\p{Cntrl}> now matches the same characters as C<\p{Control}>.  This means it
93 no longer will match Private Use (gc=co), Surrogates (gc=cs), nor Format
94 (gc=cf) code points.  The Format code points represent the biggest
95 possible problem.  All but 36 of them are either officially deprecated
96 or strongly discouraged from being used.  Of those 36, likely the most
97 widely used are the soft hyphen (U+00AD), and BOM, ZWSP, ZWNJ, WJ, and
98 similar, plus Bi-directional controls.
99
100 C<\p{Alpha}> now matches the same characters as C<\p{Alphabetic}>.  The Perl
101 definition included a number of things that aren't really alpha (all
102 marks), while omitting many that were.  The Unicode definition is
103 clearly better, so we are switching to it.  As a direct consequence, the
104 definitions of C<\p{Alnum}> and C<\p{Word}> which depend on Alpha also change.
105
106 C<\p{Word}> also now doesn't match certain characters it wasn't supposed
107 to, such as fractions.
108
109 C<\p{Print}> no longer matches the line control characters: tab, lf, cr,
110 ff, vt, and nel.  This brings it in line with the documentation.
111
112 \p{Decomposition_Type=Canonical} now includes the Hangul syllables
113
114 The Numeric type property has been extended to include the Unihan
115 characters.
116
117 There is a new Perl extension, the 'Present_In', or simply 'In'
118 property.  This is an extension of the Unicode Age property, but
119 C<\p{In=5.0}> matches any code point whose usage has been determined as of
120 Unicode version 5.0.  The C<\p{Age=5.0}> only matches code points added in 5.0.
121
122 A number of properties did not have the correct values for unassigned
123 code points.  This is now fixed.  The affected properties are
124 Bidi_Class, East_Asian_Width, Joining_Type, Decomposition_Type,
125 Hangul_Syllable_Type, Numeric_Type, and Line_Break.
126
127 The Default_Ignorable_Code_Point, ID_Continue, and ID_Start properties
128 have been updated to their current definitions.
129
130 Certain properties that are supposed to be Unicode internal-only were
131 erroneously exposed by previous Perls.  Use of these in regular
132 expressions will now generate a deprecated warning message, if those
133 warnings are enabled.  The properties are: Other_Alphabetic,
134 Other_Default_Ignorable_Code_Point, Other_Grapheme_Extend,
135 Other_ID_Continue, Other_ID_Start, Other_Lowercase, Other_Math, and
136 Other_Uppercase.
137
138 An installation can now fairly easily change which Unicode properties
139 Perl understands.  As mentioned above, certain properties are by default
140 turned off.  These include all the Unihan properties (which should be
141 accessible via the CPAN module Unicode::Unihan) and any deprecated or
142 Unicode internal-only property that Perl has never exposed.
143
144 The files in the To directory are now more clearly marked as being
145 stable, directly usable by applications.  New hash entries in them give
146 the format of the normal entries which allows for easier machine
147 parsing.  Perl can generate files in this directory for any property,
148 though most are suppressed.  An installation can choose to change which
149 get written.   Instructions are in L<perluniprops>.
150
151 =head1 New Platforms
152
153 XXX List any platforms that this version of perl compiles on, that previous
154 versions did not. These will either be enabled by new files in the F<hints/>
155 directories, or new subdirectories and F<README> files at the top level of the
156 source tree.
157
158 =head1 Modules and Pragmata
159
160 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
161 go here, in a list ordered by distribution name. Minimally it should be the
162 module version, but it's more useful to the end user to give a paragraph's
163 summary of the module's changes. In an ideal world, dual-life modules would
164 have 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
172 XXX
173
174 =back
175
176 =head2 Pragmata Changes
177
178 =over 4
179
180 =item C<XXX>
181
182 XXX
183
184 =back
185
186 =head2 Updated Modules
187
188 =over 4
189
190 =item C<XXX>
191
192 XXX
193
194 =back
195
196 =head1 Utility Changes
197
198 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
199 here. Most of these are built within the directories F<utils> and F<x2p>.
200
201 =over 4
202
203 =item F<XXX>
204
205 XXX
206
207 =back
208
209 =head1 New Documentation
210
211 XXX Changes which create B<new> files in F<pod/> go here.
212
213 =over 4
214
215 =item L<XXX>
216
217 XXX
218
219 =back
220
221 =head1 Changes to Existing Documentation
222
223 XXX Changes which significantly change existing files in F<pod/> go here.
224 Any changes to F<pod/perldiag.pod> should go in L</New or Changed Diagnostics>.
225
226
227 =head1 Performance Enhancements
228
229 XXX Changes which enhance performance without changing behaviour go here. There
230 may well be none in a stable release.
231
232 =over 4
233
234 =item *
235
236 XXX
237
238 =back
239
240 =head1 Installation and Configuration Improvements
241
242 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
243 go here.
244
245 =head2 Configuration improvements
246
247 XXX
248
249 =head2 Compilation improvements
250
251 XXX
252
253 =head2 Platform Specific Changes
254
255 =over 4
256
257 =item XXX-some-platform
258
259 XXX
260
261 =back
262
263 =head1 Selected Bug Fixes
264
265 XXX Important bug fixes in the core language are summarised here.
266 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
267 L</Modules and Pragmata>.
268
269 =over 4
270
271 =item *
272
273 XXX
274
275 =back
276
277 =head1 New or Changed Diagnostics
278
279 XXX New or changed warnings emitted by the core's C<C> code go here.
280
281 =over 4
282
283 =item C<XXX>
284
285 XXX
286
287 =back
288
289 =head1 Changed Internals
290
291 XXX Changes which affect the interface available to C<XS> code go here.
292
293 =over 4
294
295 =item *
296
297 XXX
298
299 =back
300
301 =head1 New Tests
302
303 XXX Changes which create B<new> files in F<t/> go here. Changes to
304 existing files in F<t/> aren't worth summarising, although the bugs that
305 they represent may be.
306
307 =over 4
308
309 =item F<XXX>
310
311 XXX
312
313 =back
314
315 =head1 Known Problems
316
317 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
318 tests that had to be C<TODO>ed for the release would be noted here, unless
319 they were specific to a particular platform (see below).
320
321 This is a list of some significant unfixed bugs, which are regressions
322 from either 5.11.3 or 5.11.3.
323
324 =over 4
325
326 =item *
327
328 XXX
329
330 =back
331
332 =head1 Deprecations
333
334 XXX Add any new known deprecations here.
335
336 The following items are now deprecated.
337
338 =over 4
339
340 =item Use of "goto" to jump into a construct is deprecated
341
342 Using C<goto> to jump from an outer scope into an inner
343 scope is now deprecated. This rare use case was causing
344 problems in the implementation of scopes.
345
346 =back
347
348 =head1 Platform Specific Notes
349
350 XXX Any changes specific to a particular platform. VMS and Win32 are the usual
351 stars here. It's probably best to group changes under the same section layout
352 as the main perldelta
353
354 =head1 Obituary
355
356 XXX If any significant core contributor has died, we've added a short obituary
357 here.
358
359 =head1 Acknowledgements
360
361 XXX The list of people to thank goes here.
362
363
364 =head1 Reporting Bugs
365
366 If you find what you think is a bug, you might check the articles
367 recently posted to the comp.lang.perl.misc newsgroup and the perl
368 bug database at http://rt.perl.org/perlbug/ .  There may also be
369 information at http://www.perl.org/ , the Perl Home Page.
370
371 If you believe you have an unreported bug, please run the B<perlbug>
372 program included with your release.  Be sure to trim your bug down
373 to a tiny but sufficient test case.  Your bug report, along with the
374 output of C<perl -V>, will be sent off to perlbug@perl.org to be
375 analysed by the Perl porting team.
376
377 If the bug you are reporting has security implications, which make it
378 inappropriate to send to a publicly archived mailing list, then please send
379 it to perl5-security-report@perl.org. This points to a closed subscription
380 unarchived mailing list, which includes all the core committers, who be able
381 to help assess the impact of issues, figure out a resolution, and help
382 co-ordinate the release of patches to mitigate or fix the problem across all
383 platforms on which Perl is supported. Please only use this address for
384 security issues in the Perl core, not for modules independently
385 distributed on CPAN.
386
387 =head1 SEE ALSO
388
389 The F<Changes> file for an explanation of how to view exhaustive details
390 on what changed.
391
392 The F<INSTALL> file for how to build Perl.
393
394 The F<README> file for general stuff.
395
396 The F<Artistic> and F<Copying> files for copyright information.
397
398 =cut
399
400
401
402
403 All changes through commit b4178430270dbe109e7609d0b50d6d54bf9e95d8
404 One "triage" pass done.
405
406 A second triage pass is still needed to remove unimportant changes
407
408 commit 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
413 commit 0e38ac7805aa91d94a5718273a06c051670207ca
414 Author: Gerard Goossen <gerard@ggoossen.net>
415 Date:   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
435 commit 587808146dcf7a2a909b351c4c32085e6fcb74dc
436 Author: Gerard Goossen <gerard@ggoossen.net>
437 Date:   Fri Dec 18 15:11:25 2009 +0100
438     
439     Free the PL_scopestack_name
440     
441     Gerard Goossen
442     
443
444 commit 9307c420fad2f6f5bd314f9ed66dd53288703e09
445 Author: Jan Dubois <jand@activestate.com>
446 Date:   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
457 commit 8703a9a4fd75723318bc4ba1afc42a215806f2d1
458 Author: Max Maischein <corion@corion.net>
459 Date:   Thu Dec 17 23:22:39 2009 +0100
460
461     Correct some #ifdef USE_ITHREADS / USE_MULTI 
462
463 commit 229c5935ba2b931e7f367cc5b2706adeee57ee47
464 Author: David Golden <dagolden@cpan.org>
465 Date:   Thu Dec 17 17:59:27 2009 -0500
466
467     Updated Module::Build to 0.35_15
468     
469 commit feb517daa146d8e378d6d18de1ce5d7dc752383d
470 Author: Chris Williams <chris@bingosnet.co.uk>
471 Date:   Thu Dec 17 22:08:48 2009 +0000
472
473     Updated CPANPLUS to cpan release 0.90
474     
475 Author: Jan Dubois <jand@activestate.com>
476 Date:   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
487 commit ab106183f6f6440236f5be52e2a171a63882946a
488 Author: Abigail <abigail@abigail.be>
489 Date:   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
493 commit 8c63ea58497f2deb05596f96547d19395545a0ee
494 Author: Gerard Goossen <gerard@ggoossen.net>
495 Date:   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
499 commit 9d48bc6db099a4f84cb04d1ada69930fb35f8da1
500 Author: Jesse Vincent <jesse@bestpractical.com>
501 Date:   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     
505 commit 2574563ed1cc89a9149d4a253b94199eab5bdf71
506 Author: Tim Bunce <Tim.Bunce@pobox.com>
507 Date:   Tue Dec 15 23:04:11 2009 +0000
508
509     Allow override of PERL5OPT etc in t/TEST
510
511 commit 6a158b577769363e3a34f3dcb7321a0e933d3353
512 Author: Rafael Garcia-Suarez <rgs@consttype.org>
513 Date:   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
520 commit 421f30ed1e95009450bdc7905bf3433ee806ea4f
521
522     [perl #22977] Bug in format/write
523
524 commit 15dc519fb7cb1c4b51fbc196af8ecf273c534ad1
525
526     [perl #68640] Wrong error for undef constant name
527
528 commit 1443f10d16f26271d2df9b4bdda55dbe024319c3
529
530     more regex folding tests
531
532 commit 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
545 commit 2ab54efd6265713df5cd4bd0927024245675c1c2
546 Author: Michael Breen <perl@mbreen.com>
547
548     fix bug 67156: overload: nomethod(..., '!') return value inverted
549
550 commit 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
556 commit 2653dd3c22bd18d7877da53d515dc31c46d8fbea
557 Author: Reini Urban <rurban@x-ray.at>
558 Date:   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
565 commit 69dc4b30f4725ad5f212d45d3c856ac1caaacf17
566 Author: Father Chrysostomos <sprout@cpan.org>
567 Date:   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     
579 Author: Reini Urban <rurban@x-ray.at>
580 Date:   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
591 commit 9c7b20a98a1d5faa39d9d097a77c2bf4a0a19daa
592 Author: Jesse Vincent <jesse@bestpractical.com>
593 Date:   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
597 commit a242eeb4c06c63af5ec7e01d5602b14bde94aa81
598 Author: Jesse Vincent <jesse@bestpractical.com>
599 Date:   Thu Dec 10 11:44:26 2009 -0500
600
601     Updated to Pod::Simple 3.11 from CPAN [perl #71004]
602
603 commit f62b3c7e73b3b864bf7c73fdb4e6dff9f9c0f700
604 Author: Chris Williams <chris@bingosnet.co.uk>
605 Date:   Thu Dec 10 12:16:57 2009 +0000
606
607     Update Archive::Extract to cpan version 0.36
608
609 commit 0aa6d4a524fe5cbd48c99d293e1d8b643ab0387a
610 Author: Reini Urban <rurban@x-ray.at>
611 Date:   Wed Dec 9 17:45:44 2009 -0500
612
613     Updated docpointer for illguts
614
615 commit 85613cabfd8d8a9b6b36082819bd6c38e1bb21c7
616 Author: Zefram <zefram@fysh.org>
617 Date:   Wed Dec 9 17:40:05 2009 -0500
618
619     Fix for [perl #70910] wrong line number in syntax error message
620
621 commit ecf5c238cfc27e32b6ca4c6d91b92bf8852e36b2
622 Author: Andy Dougherty <doughera@lafayette.edu>
623 Date:   Tue Dec 8 11:36:54 2009 -0500
624
625     Document config_args limitations reported in [perl #70912]
626
627 commit f6435df36c4167f97876032948ee21a446b75f27
628 Author: Gerard Goossen <gerard@ggoossen.net>
629 Date:   Tue Dec 8 12:42:58 2009 +0100
630
631     proper error on "grep $x (1,2,3)". Solves [perl #37314]
632
633 commit 13290fcd82823e130109fca5199c99fb886e29eb
634 Author: Tony Cook <tony@develop-help.com>
635 Date:   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
642 commit 93592fd5aeec89ac25994a493ef54e1d7a572d65
643 Author: Ricardo Signes <rjbs@cpan.org>
644 Date:   Mon Dec 7 18:24:59 2009 -0500
645
646     legalize =begin foo bar
647
648 commit b41aadf259cf55858c5ab0386356cdbe2dc49a6b
649 Author: Ricardo Signes <rjbs@cpan.org>
650 Date:   Mon Dec 7 18:21:44 2009 -0500
651
652     more aggressively deprecate L<section> and L<"section">
653
654 commit f6e963e4dd62b8e3c01b31f4a4dd57e47e104997
655 Author: Ricardo Signes <rjbs@cpan.org>
656 Date:   Mon Dec 7 18:19:28 2009 -0500
657
658     remove prohibition against L<text|href>
659
660 commit 1cb985b013ea71b82afbc114ed06f94d451f5e04
661 Author: Jan Dubois <jand@activestate.com>
662 Date:   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
672 commit 1144115d25e28286dc02b44859da121ea1b93f1c
673 commit 8a27a13e89107aaf68c0748b68ee71fbd86d774b
674 Author: Father Chrysostomos <sprout@cpan.org>
675 Date:   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
686 commit 6bc991bfb3c34a5d286a1202fcc0d740d72dcee7
687 Author: Rafael Garcia-Suarez <rgs@consttype.org>
688 Date:   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
695 commit 69c3dccf5322a59cb855347c04712ba11b65328f
696 Author: Rafael Garcia-Suarez <rgs@consttype.org>
697 Date:   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
703 commit 7baa46900628573770d962400725b38c0773bf47
704 Author: hv@crypt.org <hv@crypt.org>
705 Date:   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
711 commit f89a570b1f4dda1c19dab17cb7eb6914cdc0717c
712 Author: Chip Salzenberg <chip@ci005.sv2.upperbeyond.com>
713 Date:   Wed Oct 28 17:08:05 2009 -0700
714
715     avoid infinite chain of utf8 magic
716
717 commit 806e7ca7a95b2271bcd698a87bd05a4b9ea9ae68
718 Author: Chip Salzenberg <chip@pobox.com>
719 Date:   Mon Oct 26 19:39:20 2009 -0700
720
721     when removing magic, fix SvMAGICAL flags (unless save_magic is active)
722
723 commit f9c6fee519b868a2e8ef8c5b701c0d3f95565423
724 Author: Chip Salzenberg <chip@ci005.sv2.upperbeyond.com>
725 Date:   Wed Oct 28 16:41:02 2009 -0700
726
727     preserve readonly flag when saving and restoring magic flags
728
729 commit 077f834239e40e0523e428946baaf95eaec43724
730 Author: hv@crypt.org <hv@crypt.org>
731 Date:   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
743 commit 517956bf3975a79f7429698dce4510d4616b19a3
744 Author: Craig A. Berry <craigberry@mac.com>
745 Date:   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
753 commit a756042476315fbf04b4211a7dfb5783ff6cba2f
754 Author: Nicholas Clark <nick@ccl4.org>
755 Date:   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
764 commit 283b82dc9f704fb99591ed28497a6a263e6ef519
765 Author: Karl Williamson <khw@khw-desktop.(none)>
766 Date:   Wed Dec 2 21:36:17 2009 -0700
767
768     Unicode 5.2
769
770 commit c9930541bfa04399c3b648e83c9b750cee1154fb
771 Author: Tony Cook <tony@develop-help.com>
772 Date:   Thu Dec 3 10:20:09 2009 +0100
773
774     [perl #70802] -i'*' refuses to work
775
776 commit c2123ae380a372d506d1b6938667bd785fd8728b
777 Author: Nicholas Clark <nick@ccl4.org>
778 Date:   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
796 commit adab996997d7ef1b54d382f5ab4304f438cd1dd0
797 Author: Jan Dubois <jand@activestate.com>
798 Date:   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
806 commit 781ecc3f4e65a5261736cf5fa8e56b6bea2ff71a
807 Author: Jan Dubois <jand@activestate.com>
808 Date:   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
819 commit 0b3da58dfdc350792109691bb6c07a48109b9e12
820 Author: Tony Cook <tony@develop-help.com>
821 Date:   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
849 commit 5ca68648d92617d8e0deebbc877c24f91be5ce4d
850 Author: Tony Cook <tony@develop-help.com>
851 Date:   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
866 commit 576b33a19ccaf98d4dfe201d529c55c3747f0cb6
867 Author: Tim Bunce <Tim.Bunce@pobox.com>
868 Date:   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
872 commit c362798e2bfee6dd58e97b97c7f3aa37c2c6af9f
873 Author: Zefram <zefram@fysh.org>
874 Date:   Mon Nov 30 11:42:14 2009 +0100
875
876     Document if.pm in perlfunc
877
878 commit 71eaafb1e6768e777bc805cc8490b55c6e77da64
879 Author: Rafael Garcia-Suarez <rgs@consttype.org>
880 Date:   Mon Nov 30 10:30:41 2009 +0100
881
882     Make distclean work again
883
884 commit ee6ba15dedda3e88eb66891eaf387c00a4c0a2fb
885 Author: Eric Brine <ikegami@adaelis.com>
886 Date:   Thu Nov 26 19:16:16 2009 -0500
887
888     Fix -DPERL_NO_UTF16_FILTER
889
890 commit 75068674a0c83a71b3705f2c6000b34d849b9640
891 Author: Rafael Garcia-Suarez <rgs@consttype.org>
892 Date:   Sun Nov 29 23:30:45 2009 +0100
893
894     Make split warn in void context
895
896 commit dfd167e94af611f6248e804cb228b35ca4123bd6
897 Author: Nicholas Clark <nick@ccl4.org>
898 Date:   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
904 commit f5fa9033b8c1fdcbd7710850b3b0380d6b937853
905 Author: Nicholas Clark <nick@ccl4.org>
906 Date:   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
910 commit ff868e665bf85a829dc47bfa1243b26d4367cacd
911 Author: Steve Peters <steve@fisharerojo.org>
912 Date:   Sat Nov 28 23:43:11 2009 -0600
913
914     Add error codes for getaddrinfo() and getnameinfo()
915
916 commit 23e33b604408d78c7993c7ba35b0a4323eb9feeb
917 Author: Karl Williamson <khw@khw-desktop.(none)>
918 Date:   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
944 commit 408633379a1452b4e14d7c3b5e80f7dc05ea7986
945 Author: Moritz Lenz <moritz@faui2k3.org>
946 Date:   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
953 commit e90b02b98382872bd43097b9b146a9b00ca3171b
954 Author: Tim Bunce (via RT) <perlbug-followup@perl.org>
955 Date:   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
962 commit 17cc9359ea8ee1b546aa067b91362160e3c1e1ee
963 Author: Zefram <zefram@fysh.org>
964 Date:   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
984 commit f706d24c20941a6401e90643488acaa0705ba877
985 Author: Gerard Goossen <gerard@ggoossen.net>
986 Date:   Tue Nov 24 12:13:13 2009 +0100
987
988     add interpolation test for [perl #70091]
989     
990 commit ae28bb2a75e3c50332b2684a214bf3dcd1bdb937
991 Author: Gerard Goossen <gerard@ggoossen.net>
992 Date:   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
996 commit ec983580254c32fd44889fde43973ac5dd74257b
997 Author: Andrew Rodland <andrew@hbslabs.com>
998 Date:   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
1010 commit 6b1226db4432ba7f08619ebe4c5365f692dcbbf7
1011 Author: Steve Hay <SteveHay@planit.com>
1012 Date:   Tue Nov 24 11:02:58 2009 +0000
1013
1014     Add missing library to VC++ section of Win32 dmake makefile
1015
1016 commit 5e8632492467a144fabe819ac1f4206ecde8d14d
1017 Author: Steve Hay <SteveHay@planit.com>
1018 Date:   Tue Nov 24 10:51:54 2009 +0000
1019
1020     Avoid circularity in $(LINK_FLAGS) definition in Win32 dmake makefile
1021
1022 commit 524ce141dcd46f87e73a300e1436937336261b19
1023 Author: Rafael Garcia-Suarez <rgs@consttype.org>
1024 Date:   Tue Nov 24 09:47:46 2009 +0100
1025
1026     Remove generated file pod/perluniprops.pod from the source distribution
1027
1028 commit f86864acbf97469fd9e5d5233d51ff743f4d8d6e
1029 Author: Karl Williamson <khw@khw-desktop.(none)>
1030 Date:   Mon Nov 23 16:26:16 2009 -0700
1031
1032     mktables not run unless needed
1033
1034 commit aadc0e04984c523115970b0a0c0ba40ddcee3d41
1035 Author: brian d foy <bdfoy@cpan.org>
1036 Date:   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
1040 commit dbb3120a48c1483138e02a3fadf359e5b664ae11
1041 Author: Steve Hay <SteveHay@planit.com>
1042 Date:   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
1049 commit 24855dffdf07c139d331fbdd811a1a8299756ee0
1050 Author: Jerry D. Hedden <jdhedden@cpan.org>
1051 Date:   Mon Nov 23 10:34:04 2009 -0500
1052
1053     Upgrade to threads 1.75
1054
1055 commit a9ed9b74fd79d60cccbe784b8d7b2eae94ded913
1056 Author: Jesse Vincent <jesse@bestpractical.com>
1057 Date:   Mon Nov 23 09:38:10 2009 -0500
1058
1059     Added a perltodo about enabling/disabling individual warnings
1060
1061 commit 61fc5122f0d8a509834282b8ecb3252d2e4c9f5d
1062 Author: Karl Williamson <khw@khw-desktop.(none)>
1063 Date:   Fri Nov 20 11:02:01 2009 -0700
1064
1065     Make unicode semantics the default
1066
1067     *****************
1068
1069 commit b500e03bf95eb884a53407409b4e755d303171a4
1070 Author: Gerard Goossen <gerard@ggoossen.net>
1071 Date:   Sat Nov 21 12:16:07 2009 +0100
1072
1073     deprecate "goto" to jump into a construct
1074
1075 commit 021f53de09926928546378b3552f9240c9241dde
1076 Author: Gerard Goossen <gerard@ggoossen.net>
1077 Date:   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
1081 commit 6a0e50422a84b53e998825128c56791913cd03aa
1082 Author: Craig A. Berry <craigberry@mac.com>
1083 Date:   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
1092 commit c35076938c7236fb2aaabecd40e3a5a444c3be77
1093 Author: Craig A. Berry <craigberry@mac.com>
1094 Date:   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
1100 commit 4ebea3c679ca93eb90d62be76bf8eb3cd7d14160
1101 Author: Jan Dubois <jand@activestate.com>
1102 Date:   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
1121 commit 51393fc07355ffd0a4b6b212fd676ee37de23e09
1122 Author: Abigail <abigail@abigail.be>
1123 Date:   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
1129 commit 31c9a3ace4f559b79a21319b8903e92f53b44868
1130 Author: Nicholas Clark <nick@ccl4.org>
1131 Date:   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
1139 commit 40ea6f68f5e33895a1a9d11f269b177eb901c03f
1140 Author: brian d foy <bdfoy@cpan.org>
1141 Date:   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