| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit rewrites File::Glob::csh_glob (which implements perl’s
default globbing behaviour) in C.
This fixes a problem introduced by 0b0e6d70f. If there is an
unmatched quotation mark, all attempts to parse the pattern are
discarded and it is treated as a single token. Prior to 0b0e6d70f,
whitespace was stripped from both ends in that case. As of 0b0e6d70f,
it was only stripped from the beginning. This commit restores the
pre-0b0e6d70f behaviour with unmatched quotes. It doesn’t take
'a"b\ ' into account (where the space is escaped), but that wasn’t
handled properly before 0b0e6d70f, either.
This also finishes making csh_glob consistent with regard to quota-
tion marks. Commit 0b0e6d70f attempted to do that, but did not strip
out medial quotation marks, as in a"b"c. Text::ParseWords does not
provide an interface for stripping out quotation marks but leaving
backslashes, which I tried to work around, not fully understanding
the implications. Anyway, this new C implementation doesn’t use
Text::ParseWords.
The latter fix caused a test failure, but that test was there to make
sure the behaviour didn’t change depending on whether File::Glob
was loaded before the first mention of glob(). (In 5.6, loading
File::Glob first would make perl revert to external csh glob, ironic-
ally enough.) This commit modifies the test to test for sameness,
rather than exact output. In fact, this change causes perl and
miniperl to be consistent, and probably also causes glob to be more
consistent across platforms (think of VMS).
Another effect of the translation to C is that the Unicode Bug is
fixed with regard to splitting patterns. The C code effectively does
/\s/a now (which I believe is the only sane behaviour in this case),
instead of treating the string differently depending on the UTF8 flag.
The Unicode Bug is still present with regard to actual globbing.
This commit introduces one regression. This code:
undef %File::Glob::;
glob("nometachars");
will no longer return anything, because csh_glob no longer holds a
reference count on the $File::Glob::DEFAULT_FLAGS glob. Any code that
does that is beyond crazy.
The big advantage to this patch is speed. Something like
‘@files = <*>’ is 18% faster in a folder of 300 files. For smaller
folders there should be an even more notable difference.
|
|
|
|
|
|
| |
It happens to be the only test in fresh_perl.t that skips on miniperl.
pat_rt_report.t automatically skips on miniperl, and isn't exclusively for
bugs reported via RT.
|
|
|
|
|
|
|
| |
# New Ticket Created by (Peter J. Acklam)
# Please include the string: [perl #81916]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81916 >
|
|
|
|
|
|
| |
Neither lib/locale.t nor t/run/fresh_perl.t should be used for new tests,
so take the locale related tests and the setup code from fresh_perl.t
to make ground for more.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds (?^...) to signify to use the default regex modifiers for the
cluster or embedded pattern-match modifier change. The major purpose of
this is to simplify regex stringification, so that "^" is output in
place of "-xism". As a result, the stringification will not change in
the future when new regex modifiers are added, so tests, etc. that rely
on a particular stringification will have to change now, but never
again.
Code that needs to work properly with both old- and new-style regexes
can use something like the following:
# Accept both old and new-style stringification
my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
This construct is Ben Morrow's idea.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix for #23810, 27e904532594b7fb, introduced a regression, spotted by
Nicholas as RT #75146.
Basically, in S_doeval() if the yyparse() fails due to dying (rather than
just bailing out with with a syntax error, say), then the topmost EVAL
context will have been popped. My improved error handling code mostly
understood the difference, but forgot that in the die case, PL_eval_root
will have been restored to its previous value by the CX pop, and thus
its value shouldn't be messed with.
|
|
|
|
| |
Remove the long deprecated feature where split in scalar context writes to @_
|
| |
|
|
|
|
|
| |
the code that automatically requires AnyDBM_File.pm in pp_dbmopen.
p4raw-id: //depot/perl@33705
|
|
|
|
|
| |
Message-Id: <200607112101.k6BL1TGr321715@kosh.hut.fi>
p4raw-id: //depot/perl@28550
|
|
|
|
|
| |
Message-ID: <20050722195334.GA12431@windhund.schwern.org>
p4raw-id: //depot/perl@25239
|
|
|
|
|
| |
Message-ID: <20050516151353.GA25387@petdance.com>
p4raw-id: //depot/perl@24489
|
|
|
| |
p4raw-id: //depot/perl@24063
|
|
|
| |
p4raw-id: //depot/perl@23181
|
|
|
| |
p4raw-id: //depot/perl@23179
|
|
|
|
|
|
| |
Message-ID: <40EDBE1A.6080205@iki.fi>
Date: Fri, 09 Jul 2004 00:35:22 +0300
p4raw-id: //depot/perl@23074
|
|
|
| |
p4raw-id: //depot/perl@22741
|
|
|
| |
p4raw-id: //depot/perl@21202
|
|
|
| |
p4raw-id: //depot/perl@21008
|
|
|
|
|
| |
Message-Id: <200309010925.h819Pf0X011457@smtp3.ActiveState.com>
p4raw-id: //depot/perl@20980
|
|
|
|
|
| |
Message-ID: <20030826051107.GA1086@ratsnest.hole>
p4raw-id: //depot/perl@20901
|
|
|
|
|
| |
Message-ID: <20030305100620.GA909@ratsnest.hole>
p4raw-id: //depot/perl@18840
|
|
|
|
|
| |
p4raw-link: @18656 on //depot/perl: 834a3ffa15e23871424d94f91fd39fe77b05f76b
p4raw-id: //depot/perl@18662
|
|
|
|
|
|
|
| |
The PL_regdata was not set up (S_cache_re()) before it
was needed (S_reginclass()). The test put in fresh_perl.t
because we need a pristine state to start.
p4raw-id: //depot/perl@18653
|
|
|
|
|
|
| |
to the new t/comp/parser.t. The goal being to
get rid of fresh_perl.t at some point.
p4raw-id: //depot/perl@18170
|
|
|
|
|
| |
p4raw-link: @8066 on //depot/perl: bf484eac86d1083a9dc1877646bb27c0a016b364
p4raw-id: //depot/perl@18055
|
|
|
|
|
| |
Message-ID: <20021016155051.GB268437@lyta.hut.fi>
p4raw-id: //depot/perl@18035
|
|
|
|
|
|
|
|
|
| |
introduce the test case of [ID 20020623.009]. Once upon a
time #13474 introduced evil coredumps, but now things seem
to be better (tried both with and without ithreads).
p4raw-id: //depot/perl@17407
p4raw-edited: from //depot/maint-5.6/perl@17406 'ignore' op.c
(@14778..)
|
|
|
| |
p4raw-id: //depot/perl@16858
|
|
|
|
|
| |
to restore some level of sanity in the tied scalars can of worms.
p4raw-id: //depot/perl@16845
|
|
|
| |
p4raw-id: //depot/perl@16670
|
|
|
|
|
| |
Message-ID: <20020518035429.GA704@ool-18b93024.dyn.optonline.net>
p4raw-id: //depot/perl@16669
|
|
|
| |
p4raw-id: //depot/perl@16610
|
|
|
| |
p4raw-id: //depot/perl@16531
|
|
|
|
|
| |
Message-Id: <6134254DE87BD411908B00A0C99B044F035BBFCB@mowd019a.mow.siemens.ru>
p4raw-id: //depot/perl@16483
|
|
|
|
|
| |
Fix most tests on MacOS (not yet ext/ or /lib)
p4raw-id: //depot/perl@16257
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The actual minimal fix is in utf8.c and from NI-S,
the rest are the tests (in fresh_perl since I couldn't get
them easily to work elsewhere) and a slight behaviour change:
previously UTF-8 identifiers had to start with an alphabetic
character. No more so, now they can start with an (Unicode)
ID_Continue character (which however is not a (Unicode) digit).
(Limiting the first character to ID_Start would be rather
restrictive, since ID_Start allows only alphabetic letters.)
TODO: use vars qw($utf8here). This I don't find to be
a showstopper.
p4raw-id: //depot/perl@15943
|
|
|
|
|
| |
Message-ID: <YIhY8gzkgSbC092yn@efn.org>
p4raw-id: //depot/perl@14600
|
|
|
|
|
| |
(the latter came into bleadperl as part of #14433).
p4raw-id: //depot/perl@14580
|
|
|
|
|
|
|
| |
anon sub leakage.
p4raw-id: //depot/perl@14418
p4raw-edited: from //depot/maint-5.6/perl@14417 'ignore' op.c
(@13478..)
|
|
|
|
|
|
|
| |
1.3.6(0.4732) (UNINSTALLED)
Message-Id: <GtgT8gzkg+CG092yn@efn.org>
p4raw-id: //depot/perl@14383
|
|
|
|
|
| |
Message-Id: <200201182106.XAA19133@taku.hut.fi>
p4raw-id: //depot/perl@14340
|
|
with fresh_perl_is() and fresh_perl_like().
p4raw-id: //depot/perl@14309
|