From: Jesse Vincent Date: Wed, 30 Sep 2009 13:53:10 +0000 (+0900) Subject: Removal of a bunch of changes that don't merit perldelta integration X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=01ad23f599fa1caef159c4388177c2db3eac4069;p=p5sagit%2Fp5-mst-13.2.git Removal of a bunch of changes that don't merit perldelta integration --- diff --git a/pod/perl5110delta.pod b/pod/perl5110delta.pod index bddb9f1..1d3bdd1 100644 --- a/pod/perl5110delta.pod +++ b/pod/perl5110delta.pod @@ -274,6 +274,11 @@ components of the regexp engine, because they're not yet built. F's @INC is now restricted to just -I..., the split of $ENV{PERL5LIB}, and "." +=item * + +A space or a newline is now required after a C<"#line XXX"> directive. + +=item * Tied filehandles now have an additional method EOF which provides the EOF type =back @@ -1684,6 +1689,10 @@ or cause the following assertion failure [RT #60508]: Previously missing files from Unicode 5.1 Character Database are now included. +=item * + +C is now honored when opening an anonymous temporary file + =back =head1 New or Changed Diagnostics @@ -2222,62 +2231,6 @@ commit messages are somewhat terse and require a bit more help to turn into some =head1 API -=head2 Move the reg_stringify logic to Perl_sv_2pv_flags - -=head2 mg_copy ought to take an I32 - -=head2 Perl_store_cop_label() isn't meant to be part of the public API. - -=head2 Perl_gv_fetchmethod{,_autoload,_flags} are actually never* called with a non-NULL stash. -So change the parameter to NN. - - -=head2 Promote Perl_setdefout() to the public API. - -=head2 Add get_cvs() as a shortcut for STR_WITH_LEN() and Perl_get_cvn_flags() - -=head2 In Perl_newCONSTSUB(), sv should not be NULL. - -=head2 GvUNIQUE* have been defined as 0 since 2005/06/30 - high time to remove them. - -=head2 invert and rename PERL_MEM_LOG_STDERR to PERL_MEM_LOG_NOIMPL - -Most users who want PERL_MEM_LOG want the default implementation, -give it to them. Users providing their own implementation can -obtain current behavior by adding -DPERL_MEM_LOG_NOIMPL. -Frankly, the average user probably wants _ENV by default too. - -=head2 simplify PERL_MEM_LOG - -This combines multiple environment variable reads into 1, -where it looks for values like "2mst" --2 leading digits are atoi()d to get FD --m memory logging please --s sv logging also --t timestamp those please. - -Combining these reduces overhead such that it seemed -worthwhile to drop all the ifdefs. TBD whether this works -in the environment that drove the original tradeoffs. - -If it isnt enough, Id be tempted by a global static ptr, -and on 1st use, is read, seen 0, a lock is taken, and getenvar -run to populate it, unlocked, proceed. This would remove -iterative overheads. - -=head2 Add a parameter "destructing" to Gv_AMupdate() - -This boolean parameter indicates if the function has been called -to update the overload magic table while looking up the DESTROY -method. In this case, it's probably best to avoid croaking if -those tables could not be updated (for example due to a method -that could not be loaded.) - -=head2 Modify the return value of Gv_AMupdate to indicate a compilation error - -This way we'll restore most of the performance on object destruction -lost by the previous commit - =head2 local $SIG{FOO} = sub {...}; sets signal handler to SIG_DFL @@ -2289,70 +2242,17 @@ Updated patch to retain source compatibility. Plus using the correct PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS macro and running make regen. -=head2 Respecting inc_version_list while processing PERL_VENDORLIB_STEM - -Respecting inc_version_list while processing PERL_VENDORLIB_STEM -From: "Mandalemula, Rajesh" - -=head2 Change PL_debug behaviour - - -String eval lines are now saved whenever -a subroutine is defined, even if the eval'd string has subsequent -syntax errors. This allows the debugger to single step into these -subroutines. - - -=head2 Tied filehandles now have an additional method EOF which provides the EOF type =head2 Perl is now smarter about adding a -I dir to the beginning or end of @INC =head2 On scope end, delete localized array elements that should not exist anymore, so that the array recovers its previous length. Honour EXISTS and DELETE for tied arrays. -=head2 When a glob is deleted, mark its sub as ANON. - -=head2 Require a space or a newline after a "#line XXX" directive =head2 Forbid using "foreach" as an attribute (like all other control flow statements) -=head2 Unregister signal handlers before destroying my_perl - -If the signal handler runs after perl_destruct() has been called, it -will get an invalid (or NULL) my_perl when it asks for the -thread-specific interpreter struct. This patch resets the signal -handler for any signal previously handled by PL_csighandlerp to SIG_DFL -before calling perl_destruct(). - -=head2 Perl_magic_clearsig() needs to remove magic, else delete $SIG{INT} returns undef - -Perl_magic_clearsig() needs to remove magic, else delete $SIG{INT} returns undef -instead of the now-removed INT handler. - -=head2 [perl #66452] TMPDIR not honored when opening an anonymous temporary file - -[perl #66452] TMPDIR not honored when opening an anonymous temporary file - -=head2 The attached patch to perlio.c fixes the problem of errno getting set. - -While I am firmly in the school of "do not look at $! except immediately -after a failure", I also agree that spuriously setting it is messy. But -there is just no way of knowing where your errno might have been. - -The problem was that PerlIO_fast_gets() (and other nearby similar -capability-checking PerlIO routines) set the errno (and it was being -called a lot, from sv_gets()). I think setting the errno here was -a mistake: checking for "can has FOO" should not set external state, -such as the errno. The patch removes that errno trashing from all those -routines. - -=head2 Trim all trailing / from "." in @INC when filling %INC - -This fixes bug #66942 : as a / was left in the directory name, -$INC{"Foo.pm"} for a file loaded from the current directory -was given the incorrect value "/Foo.pm". =head2 Don't enqueue pending signals during global destruction @@ -2360,88 +2260,6 @@ Global destruction is not signal-safe. PL_psig_pend may already be gone when the signal handler is called (with destruct_level > 0). NULL it before freeing it to prevent a race condition. -=head2 Eliminate struct regexp_allocated and xpvio_allocated. - -Calculate memory allocation using regexp and XPVIO, and the offset of the first -real structure member. This avoids tripping over alignment differences between -X* and x*_allocated, because x*_allocated doesn't have a double in it. - - -=head1 internals - -=head2 [perl #47047] Use of inherited AUTOLOAD for non-method is deprecated - -=head2 Remove the definitions of Null(), Nullch, Nullfp, Nullsv and PL_na when code is within the perl source tree - -=head2 Replace our assert-which-can-be-caught-by-eval with the real deal from the standard C library. - -=head2 Tweak Perl_sv_upgrade() so that references can upgrade to SVt_PV - -=head2 Eliminate prelen from struct regexp. - -=head2 Change Perl_av_iter_p() to return IV* rather than I32* (which means - -=head2 Reorder the external regexp flags to get RXf_PMf_STD_PMMOD into the - -lowest 4 bits (which saves a shift), and the "flags indicating special -patterns" into contiguous bits. This makes everything a little tidier, -and saves 88 bytes (woohoo!) of object file with -Os on x86 FreeBSD. - - -=head2 Re-implement the SvOOK() hack to store the offset as a BER encoded number in the part of the PVX that is being released. -(It will always -fit, as chopping off 1 byte gives just enough space for recording a -delta of up to 127). This allows SvOOK() to co-exist with SvIOK_on(), -which means all the calls to SvOOK_off() [with the possibility of a -call to sv_backoff()] in SvIOK_on() can be removed. This ought to make -a lot of straight line code a little bit simpler. -OOK()d scalars can now be SVt_PV, as the IVX isn't needed. - -=head2 Abolish wraplen from struct regexp. We're already storing it in SvCUR. - -=head2 Make Perl_pregcomp() use SvUTF8() of the pattern, rather than the flag bit in pmflags, to decide whether the pattern is UTF-8. - -=head2 Abolish RXf_UTF8. Store the UTF-8-ness of the pattern with SvUTF8(). - -=head2 In struct regexp move the member paren_names to the IV union. - -=head2 Make REGEXP a type distinct from SV. (Much like AV, CV, GV, HV). - -=head2 Allow sv_setsv_flags() to copy SVt_REGEXP much like it copies SVt_FORMAT - the just string buffer. - - -=head2 Correct a long-standing ithreads reference counting anonmaly - -The reference count only needs "doubling" when the scalar is pushed onto -PL_regex_padav for the second time. - - -=head2 In PL_regexp_padav, store regexps via real references, rather than hiding them within IVs. - -We can do this now that they are real SV pointers. - -=head2 With regexps stored as real RVs, we can eliminate SvREPADTMP(). - -=head2 REGEXPs are now stored directly in PL_regex_padav, rather than indirectly via RVs. - -=head2 Remove code that protected pp_qr against REGEXPs going away during global destruction whilst they were stored via true references in PL_regex_padav. - -=head2 Remove PM_GETRE_SAFE and PM_SETRE_SAFE as nothing uses them. - -=head2 Note the U8 sized space created by removing -P, and check that it is now an illegal command line flag. - -=head2 Pack the recycled pad offsets into an SV at PL_regex_pad[0]. - -=head2 Re-order so that the !SvOK() case is last (which should be rare) - -=head2 Extend PUSHFORMAT() to take a second parameter to set retop, to save NULLing it and then reassigning. - -=head2 Split struct block_sub into struct block_sub and struct block_format. - -Split struct block_sub into struct block_sub and struct block_format. -(CXt_SUB and CXt_FORMAT were using some comon members, but some members -were only for one or the other.) - =head2 Change the wantarray result from caller from IV to bool for the SCALAR/ARRAY case. This doesn't contradict the documentation, as there isn't any. Oops.