| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
In '"s\N{U+DF}" =~ /\x{00DF}/i, the LHS folds to 'sss', the RHS to 'ss'.
The bug occurs when the RHS tries to match the first two es's, but that
splits the LHS \xDF character, which Perl doesn't know how to handle,
and the assertion got triggered. (This is similar to [perl #72998].)
The solution adopted here is to disallow a partial character match,
as #72998 did as well.
|
|
|
|
|
|
|
|
|
|
|
| |
The version bump from 5.14.0 to 5.15.0 didn't go at all smoothly.
Update release_managers_guide based on that experience.
Basically there were a couple of catch-22 situations with auto-generated
files; namely uconfig.h and the pod/perl5150delta.pod link.
Also, I've split the 'bump bleed to 5.15' and 'make maint-5.14 branch'
instructions into two separate sections.
|
|
|
|
|
|
|
| |
while(readdir) doesn't auto-assign to $_
Also, make the informative output clear that its telling you like of files
it will be processing, rather than that its actually processing it now.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of commit 282b29ee485, pp_requires passes an SV to S_doopen_pm,
instead of char*/length pair.
That commit also used sv_mortalcopy() to copy the sv when trying out a
.pmc extension:
+ SV *const pmcsv = sv_mortalcopy(name);
When the path is absolute, the sv passed to S_doopen_pm is the very sv
that was passed to require. If it was returned from a (non-lvalue)
sub-routine, it will be marked TEMP, so the buffer gets stolen.
After the .pmc file is discovered to be nonexistent, S_doopen_pm then
uses its original sv to open the .pm file. But the buffer has been
stolen, so it’s trying to open undef, which fais.
In the mean time, pp_require still has a pointer to the stolen buffer,
which now has a .pmc extenion, it blithely reports that the .pmc file
cannot be found, not realising that its string has changed out from
under it. (Actually, if the file name were just the right length, it
could be reallocated and we could end up with a crash.)
This patch copies the sv more kindly.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I also fixed a bug in the original. I'm always getting C<eof> vs C<eof()>
swapped in my brain, which is what had happened here. The old code didn't
do what it said it did because it contrary to the comments didn't reset at
each eof -- because it used the C<eof()> form which is all of ARGV rather
than bare C<eof> for the last file read, and thus each per-file component
of ARGV.
I am concerned about the two paragraphs previous to that, because they
use eof() and I am not perfectly clear that they should. But I left
them as is.
Jesse asked for "a lot of eyes", so if folks could please look at this
patch and see whether it looks ok, I'd appreciate it. I did test it
under blead, both with and without the prefixed m on the m?? matches,
which is how I discovered it was buggy with the C<eof()> not C<eof>.
--tom
|
|
|
|
| |
somewhere other than perldelta.
|
| |
|
| |
|
|
|
|
| |
nice, zealous porting tests
|
| |
|
| |
|
| |
|
|
|
|
|
| |
A previous commit added an 'if' around this code. This now indents
the block properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch causes inverted [bracketed] character classes to not handle
multi-character folds. The reason is that these can lead to very
counter-intuitive results (see bug discussion).
In an inverted character class, only single-char folds are now
generated. However the fold for \xDF=>ss is hard-coded in,
and it was too much trouble sending flags to the sub-sub routine that
does this, so another check is done at the point of storing the list of
multi-char folds. Since \xDF doesn't have a single char fold, this
works.
|
|
|
|
|
|
|
|
|
|
| |
And also to_uni_fold().
The flag allows retrieving either simple or full folds.
The interface is subject to change, so these are marked experimental
and their names begin with underscore. The old versions are turned
into macros calling the new versions with the correct extra parameter.
|
|
|
|
|
|
|
| |
Code within the function doesn't assume that the parameter is non-null,
and in fact the specials are retrieved by swash_init(). Having the
parameter null just means that no specials will be retrieved in the
current call.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
• Remove C<...> around get-magic and set-magic. Those are prose
descriptions of what is known internally as mg_get, SvGETMAGIC,
SVs_GMG, etc.
• Re-instate the message that 804b5feed removed, but in the form in
which it appears in perldiag.
• Remove the thing about version class methods. It’s a bug fix, not a
problem (whether known or unknown :-), and not a significant one.
• Spelling mistake
|
|
|
|
|
|
|
| |
We already skip this test file on many platforms which don't
have interruptible IO system calls. Extend this to unconditionally
skip if it's an even (production) release version, so that we don't get
false positives for other platforms we didn't know about.
|
|
|
|
|
| |
I'd make this a TODO, but the test currently results in the watchdog
firing, so harness/TEST would never see the "TODO".
|
| |
|