Vincent Pit [Thu, 6 May 2010 20:20:10 +0000]
Make t/op/sprintf.t test multiple warnings
Vincent Pit [Thu, 6 May 2010 20:14:31 +0000]
Stop returning 0 for sprintf("%.0g")
And also from throwing two "Missing argument" warnings for this construct.
This was a regression introduced by
5b98cd54dff3b16344eab33ce6b09fb6fb1b89c2.
Vincent Pit [Thu, 6 May 2010 20:35:14 +0000]
Really test special sprintf formats
Vincent Pit [Thu, 6 May 2010 18:28:58 +0000]
Make sv_vcatpvfn() complain when special formats "%s" and "%.0f" can't find their argument
This fixes [RT #62874] : printf does not print a warning when a lone %s conversion is used
David Golden [Thu, 6 May 2010 13:36:59 +0000]
Change perlgpl.pod to GPL 1 to match README
The README and Copying files are specific that Perl is licensed
under Artistic or GPL 1 (or later). For whatever reason, perlgpl.pod
was created with GPL 2. This commit changes it back to GPL 1 for
consistency with the actual license.
It also standardizes the introduction to both perlgpl and perlartistic
for consistent language explaining the dual license.
Nicholas Clark [Thu, 6 May 2010 09:16:02 +0000]
Move code to after the variable declarations.
Currently we only compile the top level code with "extreme warnings", so code
in ext/ isn't subject to -Wdeclaration-after-statement, hence why this was
missed. Now that dual life modules have been evicted from ext/, we could
probably consider notching up the warnings for all code in ext/.
Jesse Vincent [Wed, 5 May 2010 23:22:23 +0000]
Merge branch 'blead' of ssh://perl5.git.perl.org/gitroot/perl into blead
* 'blead' of ssh://perl5.git.perl.org/gitroot/perl:
bump PerlIO::scalar version
RT 43789: "in memory" files don't call STORE
David Mitchell [Wed, 5 May 2010 21:58:50 +0000]
bump PerlIO::scalar version
David Mitchell [Wed, 5 May 2010 21:39:24 +0000]
RT 43789: "in memory" files don't call STORE
The code in PerlIO-scalar that implements the open $fh, '>' \$buffer
feature did not, apart from accidentally, support get/set magic and thus
tied buffers. This patch remedies that: mostly by just blindly sprinkling
SvGETMAGIC/SvSETMAGIC about, rather than doing any deep analysis and
understanding of the code. One main change I did was to add a
PerlIOScalar_read() function, rather than rely on the default behaviour
(which implements it in terms of PerlIOScalar_get_ptr() etc), since that
approach had a tendency to call FETCH multiple times
Jesse Vincent [Wed, 5 May 2010 18:40:59 +0000]
Revert "New deprecation warning: Dot after %s literal is concatenation"
This reverts commit
6fb472bab4fadd0ae2ca9624b74596afab4fb8cb.
Zefram asked me to revert this as he's going to be doing something more
pluggable
Jesse Vincent [Wed, 5 May 2010 18:40:45 +0000]
Revert "Fix tests and add one more test for the deprecation warning added in last change"
This reverts commit
c4deb7365787eb01845a9d0e371e343169530659.
Zefram asked me to revert this as he's going to be doing something more
pluggable
Jesse Vincent [Wed, 5 May 2010 18:40:26 +0000]
Revert "Deprecation warnings should always be mandatory since 5.12.0"
This reverts commit
a7e260e62a5e47961e908363da32ef16f41301b2.
Zefram asked me to revert this as he's going to be doing something more
pluggable
Jesse Vincent [Wed, 5 May 2010 18:35:25 +0000]
Revert "tweak "0x123.456" deprecation"
This reverts commit
1183a10042af0734ee65e252f15bd820b7bbe686.
Zefram asked me to revert this as he's going to be doing something more
pluggable
Nicholas Clark [Sat, 20 Feb 2010 19:39:37 +0000]
When saving ints, if the value is small enough save it with the type.
This uses a new type, SAVEt_INT_SMALL.
Nicholas Clark [Sat, 20 Feb 2010 19:20:09 +0000]
When saving I32s, if the value is small enough save it with the type.
This uses a new type, SAVEt_I32_SMALL.
Rafael Garcia-Suarez [Fri, 22 May 2009 14:47:22 +0000]
If we're going to introduce an @@ array, we'll want to be able to parse $#@ too
Leon Brocard [Tue, 4 May 2010 18:58:36 +0000]
Give an error message if bison is not found at all
Nicholas Clark [Sat, 20 Feb 2010 18:54:58 +0000]
For SAVEt_I16, save the value with the type.
David Mitchell [Tue, 4 May 2010 13:43:56 +0000]
note in perldelta that local @tied not tied now
David Mitchell [Tue, 4 May 2010 13:37:04 +0000]
make 'local $tied' untied
When localising a tied scalar, don't make the scalar tied
David Mitchell [Tue, 4 May 2010 12:22:13 +0000]
make local @tied, %tied, untied
Fix for RT #7938, #7939: when localising an array or hash, don't make the
new aggregate tied.
The old behaviour of { local @tied; ... } was equivalent to:
{
my $saved = \@tied;
*tied = [];
tied(@tied) = tied(@$saved) # if tied() were an lvalue function
...
*tied = $saved;
}
This patch simply removes the 'tied(@tied) = ...' step
Rafael Garcia-Suarez [Tue, 4 May 2010 13:36:47 +0000]
die() no longer propagates outside of a Safe compartment
so mark the test for that as a TODO. We'll decide later what behaviour
is desirable here. Note that it warns instead.
Rafael Garcia-Suarez [Tue, 4 May 2010 13:13:44 +0000]
Fix parameter name for die_unwind() in embed.fnc
Rafael Garcia-Suarez [Tue, 4 May 2010 13:02:08 +0000]
Merge remote branch 'zefram/zefram/reliable_exception' into blead
Conflicts:
pp_ctl.c
Rafael Garcia-Suarez [Tue, 4 May 2010 10:22:36 +0000]
Make tests pass with open pragma in effect
Vincent Pit [Tue, 4 May 2010 08:43:07 +0000]
Silence a couple of false positive "may be used uninitialized" gcc warnings
Nicholas Clark [Sat, 20 Feb 2010 18:35:23 +0000]
For SAVEt_I8, save the value with the type.
David Mitchell [Mon, 3 May 2010 22:51:34 +0000]
fix a couple of var types
these errors were introduced in my trie-allocation patch,
2e64971a6530d2645969bc489f564bfd3ce64993
Jesse Vincent [Mon, 3 May 2010 21:35:49 +0000]
Update AUTHORS/checkAUTHORS
Ruslan Zakirov [Mon, 3 May 2010 21:08:46 +0000]
shift; optimization
Nicholas Clark [Sat, 20 Feb 2010 17:40:04 +0000]
For SAVEt_BOOL, save the value with the type.
Chris Williams [Mon, 3 May 2010 18:52:34 +0000]
POD tweak to 'require' in perlfunc relating to putting Perl code in @INC
Zefram [Fri, 30 Apr 2010 19:23:59 +0000]
tweak "0x123.456" deprecation
Some improvements to the deprecation added in commit
6fb472bab4fadd0ae2ca9624b74596afab4fb8cb:
- warning message includes the word "deprecated"
- warning is in "syntax" category as well as "deprecated"
- more systematic tests
- dot detected more efficiently by incorporation into existing switch
- small doc rewording
- avoid the warning in t/op/taint.t
Rafael Garcia-Suarez [Mon, 3 May 2010 13:38:57 +0000]
Reinstate some documentation about quotemeta
(that was removed in
8bdbc703cb0af3faf2163ebce618944c51f180a0)
David Mitchell [Mon, 3 May 2010 12:57:58 +0000]
tries: don't allocate memory at runtime
This is an indirect fix for
[perl #74484] Regex causing exponential runtime+mem usage
The trie runtime code was doing more SAVETMPS than FREETMPS and was thus
growing a large tmps stack on heavy backtracking. Rather than fixing this
directly, I rewrote part of the trie code so that it no longer needs to
allocate memory in S_regmatch (it still does in find_byclass()).
The basic issue is that multiple branches in the trie may trigger an
accept state; for example:
"abcd" =~ /xyz/abcd.*X|ab.*Y|/
here, words (branches) 2 and 3 are accept states. The original approach
was, at run time, to create a list of accepted word numbers and the
character positions of the end of each of those words. Then run the rest
of the pattern for each word in the list in turn (in word index order).
This requires memory for the list to be allocated and freed.
The new approach involves creating extra info at compile time; in
particular, for each word, a pointer to the previous accepted word (if
any) in the state tree. For example for the above pattern, part of the
state tree may be
q b c d
1 -> 2 -> 3 -> 4 -> 5
(#3) (#2)
(e.g. at state 1, if the next char is 'a', we transition to state 2).
Here, state 3 is an accept state with word #3, and 5 is an accept state
with word #2. So we build a table indexed by word number, which has
wordinfo[2] = 3, wordinfo[3] = 0, thus building the word chain 2->3->0.
At run time we run the trie to completion, and remember the word
associated with the longest accept state (word #2 above). Then by following
back the chain of .prev fields, we can produce a list of all accepting
words. We then iteratively find the smallest-numbered (ie LH-most) word in
the chain, and run with it. On failure and backtrack, we find the
next-smallest and so on.
Since we are no longer recording the end-position of each word in the
string, we have to recalculate this for each backtrack. We initially
record the end-position of the shortest accepting word, and given that we
know the length of each word, we can calculate the new position each time
as an offset from that first word. Depending on unicode and folding, that
calculation can be cheap or expensive.
This algorithm is optimised for the typical case where there are a small
number (<= 2) accepting states.
This patch creates a new compile-time array, trie->wordinfo[], indexed by
word number, which contains relevant info about each word. This also
supersedes the old trie->newword[] array, whose function of recording
"overspills" of multiple words per accept state, is now handled as part of
the wordinfo[].prev chain.
Father Chrysostomos [Mon, 3 May 2010 12:52:01 +0000]
[perl #74856] Fix POD syntax in perlapi
Vincent Pit [Mon, 3 May 2010 09:59:24 +0000]
Please don't use any of your git aliases in perlrepository.pod
Nicholas Clark [Sat, 20 Feb 2010 17:19:53 +0000]
For SAVEt_ALLOC, store the number of save stack entries used with the type.
karl williamson (via RT) [Sat, 1 May 2010 16:35:34 +0000]
PATCH: Make perluniprops.pod platform neutral
# New Ticket Created by karl williamson
# Please include the string: [perl #74830]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=74830 >
This is accomplished by changing mktables which generates it
>From
d114f6f25c763ecbd00d6271462e5d5c272457e7 Mon Sep 17 00:00:00 2001
From: Karl Williamson <khw@khw-desktop.(none)>
Date: Sat, 1 May 2010 09:22:32 -0600
Subject: [PATCH] Add missing comma to generated pod
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
Nicholas Clark [Sat, 20 Feb 2010 11:55:23 +0000]
For SAVEt_REGCONTEXT, store the number of save stack entries used with the type.
Nicholas Clark [Sun, 2 May 2010 20:04:32 +0000]
Permit array assignment to steal temps and copy shared hash key scalars.
Scalar assignment to array elements already does this. (As does all other
scalar assignment, and list assignment to hashes.) Prior to
4c8f17b905f2
(change 7867) list assignment to arrays did steal temps.
Nicholas Clark [Sun, 2 May 2010 19:23:29 +0000]
Better fix for RT #2140 (list assignment with duplicated temporaries)
4c8f17b905f2 (change 7867) took the approach of a special case in sv_setsv()
when PL_op indicated that the current OP was OP_AASSIGN. The problem is in one
part of pp_aassign, where it was using sv_mortalcopy() on values that were
correctly marked as temporaries, but also still needed later. Hence a more
targetted solution is to avoid that call, and to instead use API calls that
will not steal temporaries.
Nicholas Clark [Sun, 2 May 2010 15:19:00 +0000]
Fix
c6bf6a65 - 64 bit big endian builds were broken.
Rafael Garcia-Suarez [Sun, 2 May 2010 11:40:54 +0000]
Bump version of Carp
Gene Sullivan [Sun, 2 May 2010 11:39:54 +0000]
[perl #74808] Carp.pm POD error
The documentation incorrectly states that the $Carp::Verbose
variable makes cluck generate stack backtraces. cluck
already generates stack backtraces. It should say that
the variable makes croak generate stack backtraces.
Nicholas Clark [Sun, 2 May 2010 09:43:15 +0000]
Reduce Errno memory usage by around 55%.
Use Proxy Constant Subroutines rather than full-fat subroutines, and simplify
the implementation of the tied hash methods.
Nicholas Clark [Sun, 2 May 2010 08:27:09 +0000]
Remove unused %errno and $AUTOLOAD from the generated Errno.pm
Nicholas Clark [Sat, 20 Feb 2010 13:36:21 +0000]
For SVt_CLEAR, store the pad offset with the type.
This saves 1 slot on the save stack for each lexical encountered at run time.
Gisle Aas [Sun, 2 May 2010 05:49:10 +0000]
Make Term::ReadLine::findConsole fall back to STDIN if /dev/tty can't be opened
Nicholas Clark [Sat, 1 May 2010 20:34:11 +0000]
Remove the lexical $len and associated calculation, which is never used.
Nicholas Clark [Sat, 20 Feb 2010 12:21:52 +0000]
On the save stack, store the save type as the bottom 6 bits of a UV.
This makes the other 26 (or 58) bits available for save data.
Nicholas Clark [Sat, 20 Feb 2010 10:42:11 +0000]
Untangle REGCP_FRAME_ELEMS from REGCP_OTHER_ELEMS.
Chris Williams [Fri, 30 Apr 2010 13:57:12 +0000]
Update the Change log in Module::CoreList to include recent commits
Nicholas Clark [Sat, 1 May 2010 10:51:18 +0000]
For threads, we ignore all files in the distribution's examples directory.
Rafael Garcia-Suarez [Fri, 30 Apr 2010 13:52:16 +0000]
Upgrade to IPC::Cmd 0.58
Tony Cook [Fri, 23 Apr 2010 09:28:35 +0000]
RT#73814 - unpack() didn't handle scalar context correctly for %32H and %32u
split() would crash because the third item on the stack wasn't the
regular expression it expected. unpack("%2H", ...) would return both
the unpacked result and the checksum on the stack, similarly for
unpack("%2u", ...).
Rafael Garcia-Suarez [Fri, 30 Apr 2010 12:18:35 +0000]
Update title of "Supported Platforms" in perlport to avoid
breaking pod links at each perl release (spotted by Karl Williamson)
Vincent Pit [Fri, 30 Apr 2010 10:40:08 +0000]
Re-run bump-perl-version to update a few missing spots
Vincent Pit [Fri, 30 Apr 2010 10:33:08 +0000]
Teach bump-perl-version about "libperl511.a"
Nicholas Clark [Fri, 30 Apr 2010 07:12:51 +0000]
Don't use a C++ keyword as a variable name ("new").
Zefram [Thu, 29 Apr 2010 23:02:06 +0000]
put package declaration before label in deparsing
When deparsing a nextstate op that has both a change of package (relative
to the previous nextstate) and a label, the package declaration must be
emitted first, because it is syntactically impermissible for a label to
prefix a package declaration.
Rafael Garcia-Suarez [Thu, 29 Apr 2010 20:37:06 +0000]
Merge branch 'dual/Safe' into blead
Rafael Garcia-Suarez [Thu, 29 Apr 2010 20:25:36 +0000]
Bump Safe's version to 2.27 and update Changes and META.yml
Rafael Garcia-Suarez [Thu, 29 Apr 2010 15:13:42 +0000]
Mention that Safe::reval() no wraps returned coderefs
Nicholas Clark [Thu, 29 Apr 2010 15:11:15 +0000]
Deprecate Perl_ptr_table_clear(). Nothing outside sv.c uses it.
Inline the necessary parts of Perl_ptr_table_clear() into Perl_ptr_table_free().
No need to reset memory to zero that is about to be freed anyway.
Nicholas Clark [Thu, 29 Apr 2010 14:27:31 +0000]
Regression tests for the ptr_table_* API.
Rafael Garcia-Suarez [Thu, 29 Apr 2010 11:02:27 +0000]
Revert "Un-TODO warning test"
This reverts commit
efbe327085cc15510d8c261772e9ac21be3635de.
Rafael Garcia-Suarez [Thu, 29 Apr 2010 11:02:01 +0000]
Wrap by default coderefs returned by rdo and reval
(suggested by Tim Bunce)
Rafael Garcia-Suarez [Thu, 29 Apr 2010 10:30:06 +0000]
Add &version::vxs::stringify to the default share
Ricardo Signes [Wed, 28 Apr 2010 03:15:04 +0000]
import Pod-Simple 3.14 for C<< >> fix
Ævar Arnfjörð Bjarmason [Tue, 27 Apr 2010 16:35:39 +0000]
Correct POD link to perlrun.pod to be more accurate
Now liking to the specific section in perlrun that discusses
sitecustomize.pl
Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
Ævar Arnfjörð Bjarmason [Tue, 27 Apr 2010 16:33:43 +0000]
Add POD index entries for sitecustomize and sitecustomize.pl
This covers all non-perldelta occurrences of documentation that
discusses sitecustomize.pl
Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
Philippe Bruhat (BooK) [Tue, 27 Apr 2010 16:12:36 +0000]
Improve documentation about sitecustomize.pl.
This documentation patch is more a rewording of the content of
http://www.nntp.perl.org/group/perl.perl5.porters/2007/10/msg129930.html
than anything original.
The actual authors are therefore Michael G Schwern, Jan Dubois, Peter
Dintelmann, and H.Merijn Brand.
Signed-off-by: Philippe Bruhat (BooK) <book@cpan.org>
Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
Zefram [Tue, 13 Apr 2010 21:02:58 +0000]
don't use $[ in library code
Remove all uses of $[, both reads and writes, from library code.
Test code (which must test behaviour of $[) is unchanged, as is the
actual implementation of $[. Uses in CPAN libraries are also untouched:
I've opened tickets at rt.cpan.org regarding them.
Jesse Vincent [Tue, 27 Apr 2010 10:46:39 +0000]
Add miyagawa to the list of release engineering suckers.
Nicholas Clark [Mon, 26 Apr 2010 10:52:25 +0000]
Convert Perl_magic_methcall() to varargs.
This means removing its macro wrapper, as there's no portable way to do varargs
macros.
Nicholas Clark [Sun, 25 Apr 2010 14:41:48 +0000]
For Perl_magic_methcall() add G_UNDEF_FILL to fill the stack with &PL_sv_undef.
This replaces the previous special case of using a negative argument count to
signify this, allowing the argument count to become unsigned. Rename it from n
to argc.
Vincent Pit [Mon, 26 Apr 2010 19:51:42 +0000]
Fix possible undefined behaviour introduced by
b9e00b79e4947c49d5520633f9efd2a8e39ec14f
Rafael Garcia-Suarez [Mon, 26 Apr 2010 14:13:12 +0000]
Add a note about perlport in the release managers' guide
Rafael Garcia-Suarez [Mon, 26 Apr 2010 14:08:16 +0000]
Fill blank with the release date of 5.12 in perlport
Vincent Pit [Sun, 25 Apr 2010 15:53:28 +0000]
Save the popped cx->blk_eval.old_namesv before calling LEAVE
It's fine to still refer to cx members between POPEVAL and LEAVE, but there
are a few places where the namesv is read after LEAVE happens. This is bad
because LEAVE can call arbitrary code ; in particular, it can call a destructor
that does call_sv(cv, G_EVAL), in which case the old eval context cx gets
overwritten by the new one and cx->blk_eval.old_namesv points to garbage.
Robin Barker [Thu, 22 Apr 2010 10:51:20 +0000]
Fix h2ph and test
Robin Barker [Wed, 21 Apr 2010 23:37:34 +0000]
avoid use of operator name in macro
David Golden [Mon, 26 Apr 2010 11:46:25 +0000]
Fix Module::Build::Platform::cygwin runtime error
This addresses runtime errors in Module::Build::Platform::cygwin
as reported by Jesse Vincent. The changes are backported from
the Module::Build repository and the version number has been
slightly incremented to indicate a change from the version on CPAN.
This hopefully addresses test errors in t/actions/installdeps.t, but
the error seems specific to building perl on cygwin and has not been
reported when Module::Build was tested on cygwin by CPAN Testers.
Lubomir Rintel (GoodData) [Thu, 22 Apr 2010 16:19:23 +0000]
Globs that are in symbol table can be un-globbed
If a symbol table entry is undefined when a glob is assigned into it, it
gets a FAKE flag which makes it possible to be downgraded when non-glob
is subsequently assigned into it. It doesn't really matter, until we
decide to localize it -- it wouldn't be possible to restore its GP upon
context return if it changed type, therefore we must not do that.
This patch turns off FAKE flag when localizing a GV and restores it when
the context is left. A test case is included.
Robin Barker [Mon, 19 Apr 2010 16:00:59 +0000]
remove Perl_pmflag
Rafael Garcia-Suarez [Mon, 26 Apr 2010 08:24:43 +0000]
regen header after last patches
Karl Williamson [Mon, 26 Apr 2010 08:22:42 +0000]
Note in delta an incompatibility for \cX
X in "\cX" must now be ASCII. Previously, it could be anything, but led
to a malformed utf8 error if wasn't Latin1. This construct was never
intended to be used for anything but (a subset of) ASCII.
(moved to the delta for 5.13.1)
Karl Williamson [Tue, 20 Apr 2010 02:16:50 +0000]
Deal with "\c{", and its kin
make regen is needed
This patch forbids non-ascii following the "\c". It also terminates for
"\c{" with a message to contact p5p if there is need for continuing its
current definition. And if the character following the "\c" causes the
result to not be a control character, a warning is issued. This is
currently 'deprecated', which by default is turned on. This can easily
be changed later.
This patch is the initial patch. It does not do any fancy showing the
context where the problematic construct occurs. This can be added
later.
It gathers the 3 occurrences of evaluating \c and puts them in one
common routine.
Karl Williamson [Tue, 20 Apr 2010 02:05:31 +0000]
Make sure isCNTRL and isASCII work on signed chars
Prior to this patch, there is a potential bug in these two macros, in
which, if they are called with a signed character outside the ASCII
range, it will be negative and they always returned true for negative.
Casting the parameter to an unsigned should fix that by having it be
interpreted as a number above the ASCII range.
Rafael Garcia-Suarez [Mon, 26 Apr 2010 07:44:35 +0000]
Minor edition nit in perlfunc
Karl Williamson [Sat, 24 Apr 2010 20:24:25 +0000]
perlebcdic.pod nits plus improve controls docs
The controls all now have names, and the part about \c\ has been
corrected. The table widths have been changed; all recipes have been
tested on the new tables.
Karl Williamson [Sat, 24 Apr 2010 19:44:30 +0000]
Clarify \c in perlop.pod.
And structure the table containing \c better.
Karl Williamson [Sat, 24 Apr 2010 19:35:34 +0000]
Edits to perlrecharclass.pod
A number of clarification and wording edits have been made, fixing some
broken links, and details especially on \d in the Unicode range. Fixed
an incorrect character ordinal
Karl Williamson [Sat, 24 Apr 2010 18:37:19 +0000]
Nits in perlre.pod, x-referencing, broken links
Karl Williamson [Sat, 24 Apr 2010 18:32:42 +0000]
Fix broken links
Karl Williamson [Sat, 24 Apr 2010 18:27:01 +0000]
perlfunc.pod: case-change cleanup; mention packtut
Specifies completely the behavior of the case-changing functions, and
mentions in the existence of the pack tutorial for the packing ones.
Karl Williamson [Sat, 24 Apr 2010 18:14:27 +0000]
Nits in perlunicode.pod
Karl Williamson [Sat, 24 Apr 2010 17:21:24 +0000]
Clarify \c usage in perlrebackslash.pod
Karl Williamson [Sat, 24 Apr 2010 17:15:33 +0000]
Nits in perlunifaq.pod