| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Liberalise label syntax a little more, by allowing multiple adjacent
labels with no intervening statements, as in "foo: bar: baz:".
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A recent change removed the lexical scope that would have caused
the lexical filehandle on the temporary source file to get closed
automatically. If the filehandle is still open for write, you
can't compile it or delete unless it's open for shared access,
which is not the default on VMS (and deleting an open fle might
be a problem on Windows as well).
Without deleting the .c files, a subsequent make (even after a make
realclean) will identify CBuilder as an XS extension and fail when
it can't compile the non-existent CBuilder.c, which breaks the build
for second and subsequent runs of a smoke test.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
In imitation of e64ca59f2852bc5d0450eea5ed412609a046829d, we don't
really need different prototypes or macros for MULTIPLICITY and
non-MULTIPLICITY. For now, leave drop-in replacements of CRTL
functions alone as there may be more going on there (arguably
these really have no business passing around Perl thread context).
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.2802 - Sun Dec 12 07:22:43 EST 2010
Fixed:
- Incorporated another t/04-base.t fix from bleadperl
[Chris Williams]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
5.49 Sun Dec 12 07:22:04 MST 2010
- modified Addfile to accept all POSIX filenames
-- standard allows all characters except NUL and '/'
- updated shasum to more closely mimic sha1sum/md5sum
-- added "backslash processing" to handle newlines
and backslashes in filenames
-- now accepts all POSIX filenames via Addfile
-- thanks to Sean Burke for identifying edge cases
|
|
|
|
|
|
|
| |
The initial parse-time UNOP is upgraded at ck_eval to an LOGOP
- op_other holding the ptr to leavetry -
which causes problems at run-time B optype inspection.
The opclass info was always wrong, the Bytecode compiler broke with 5.12.
|
|
|
|
|
|
| |
The problem is that I confused FOLD with ANYOF_FOLD, and as a result,
emitted a locale regnode, which is tainted. Any tests that required
non-tainting started failing
|
|
|
|
|
|
|
| |
Some of the names for types of expression were misleading.
Rename "listexpr"->"optlistexpr", "listexprcom"->"optexpr", and
"argexpr"->"listexpr" to make them more accurately descriptive and
more consistent.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since, for speed’s sake, pp_sort does not call PUSH/POPBLOCK for
every invocation of a sort subroutine, it fails to restore PL_curpm
after each call (POPBLOCK usually handles that). So the new values of
match vars like $1 when the sub returns are what it sees at the next
invocation.
This commit fixes this by resetting PL_curpm after each call to the
subroutine. There are actually three different functions for this
(S_sortcv*) so they all need modification.
|
| |
|
|
|
|
|
|
| |
New API functions parse_fullexpr(), parse_listexpr(), parse_termexpr(),
and parse_arithexpr(), to parse an expression at various precedence
levels.
|
| |
|
| |
|
|
|
|
| |
This patch addresses some of Hugo's concerns.
|
|
|
|
|
|
|
|
|
|
| |
A single character character class can be optimized into an EXACT node.
The changes elsewhere allow this to no longer be constrained to
ASCII-only when the pattern isn't UTF-8. Also, the optimization
shouldn't have happened for FOLDED characters, as explained in the
comments, when they participate in multi-char folds; so that is removed.
Also, a locale node with folded characters can be optimized.
|
|
|
|
|
|
| |
The flags field is fully used, and until the ANYOF node is split later
in development, the CLASS bit will need to be freed up to give the space
for other uses. This patch allows for this to easily be toggled.
|
|
|
|
|
|
| |
The optimization to do inversion a compile time is moved to earlier.
This doesn't help today, but it may someday when we start keeping better
track of Unicode characters, and is the more logical place for it.
|
|
|
|
|
| |
When one complements every bit, the count of those that are set should
be complemented as well.
|
|
|
|
|
| |
When something matches above Latin1, it should have the ANYOF_UTF8 bit
set.
|
|
|
|
|
| |
Oddly, it is clearer to use 0xFF as an exclusive-or target instead of an
unrelated #define that happens to have that value.
|
| |
|
|
|
|
|
|
|
|
| |
optimize_invert is no longer needed given the changes already made, as
now if there is something not in the bitmap, a flag will be set, and the
optimization doesn't take place unless the only flag is inversion. And,
the bitmap is setup completely now for anything that doesn't have to be
deferred to runtime, and such deferrals are marked with other flags.
|
|
|
|
|
| |
So there is no need to tell regexec that it does, and then can combine
two other statements
|
|
|
|
|
|
| |
One smoke is warning about truncated results. This should fix that. It
may be that other compilers will now complain, and we'll need to add
casts, but I'm waiting to see.
|
|
|
|
|
|
|
|
| |
Recent changes to this cause the bitmap to be populated where possible
with the all folding taken into consideration. Therefore, the FOLD flag
isn't necessary except when that wasn't possible, and the loop that went
through looking for folds is also not necessary, as the bitmap is
now completely populated before it gets to where the loop was.
|
|
|
|
|
|
|
| |
stored now contains the number of 1 bits in the ANYOF node, and is no
longer needed to be arbitrarily set. Part of this is because there is
now a flag if there is any match outside the bitmap, which prohibits
optimization if so.
|
|
|
|
|
| |
It's available on anything decent and recent, but it requires
_SOCKADDR_LEN defined to make it visible.
|
|
|
|
|
| |
a) Close filehandle to try.i so we can erase it
b) The build process wants to be run from bleadperl/Win32
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Trivial changes to fix warnings of types
* unclear precedence
* assignment as conditional
* signed/unsigned mixing
* unused parameter/variable
* value computed not used
* wrong argument type for a printf format
* variable may be used uninitialised (due to unhandled switch case)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
0.2801 - Wed Dec 8 21:36:56 EST 2010
Fixed:
- Fixed spurious t/04-base.t failure when run from Perl core
[David Golden]
|
|
|
|
|
| |
This is necessary because the CPAN version required its SelfLoader dependency to
be bumped to a version that didn't swallow text after __END__.
|
| |
|
|
|
|
| |
As confirmed by Dan.
|
| |
|
| |
|
| |
|
|
|
|
| |
correctly
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
require() sets the file name for PL_compiling but localises it to the
calling scope, not the scope that it creates. As a result, caller()
during or after require (in the same scope that require was called
from) will return the wrong file name for whichever code is being com-
piled at the time and any scope sharing the same CopFILE (or something
like that):
$ ./miniperl -Ilib -e 'BEGIN{require strict; warn join ", ", caller(0)}'
main, lib/strict.pm, 1, main::BEGIN, 1, , , , 0, , at -e line 1.
^^^^^^^^^^^^^ should be -e
This commit moves the SAVECOPFILE_FREE and CopFILE_set down below the
ENTER_with_name to put it in the right scope. It was in its existing
location presumably because namesv needed to be freed before any code
that could die (and the CopFILE_set call reads a PV allocated for
namesv). So now namesv is mortalised instead.
The if(tryrsfp) is no longer necessary, as that code is never reached
when tryrsfp is false.
The block in between that sets %INC was reading CopFILE. It can simply
use the same tryname variable that is passed to CopFILE_set.
|
| |
|
| |
|