Karl Williamson [Tue, 28 Dec 2010 16:52:02 +0000 (09:52 -0700)]
regexec.c: Use FLAGS field instead of OP for BOUND node
This makes the equivalent code in BOUND and NBOUND identical so can
factor out, and makes optimization easier, as the FLAGS field is already
required in the vicinity.
Karl Williamson [Tue, 28 Dec 2010 16:33:36 +0000 (09:33 -0700)]
regexec.c: Convert two !=0's to cBOOL
Karl Williamson [Mon, 27 Dec 2010 21:37:50 +0000 (14:37 -0700)]
regexec.c: change variable name to reflect its purpose
Karl Williamson [Mon, 27 Dec 2010 21:36:49 +0000 (14:36 -0700)]
regexec.c: Change '1' to bool TRUE for clarity.
The function is supposed to take a bool.
Karl Williamson [Mon, 27 Dec 2010 21:34:37 +0000 (14:34 -0700)]
regexec.c: refactor and comment the CCC_TRY macros
These are refactored to be more compact, and I think clearer.
Karl Williamson [Mon, 27 Dec 2010 19:04:58 +0000 (12:04 -0700)]
regex: Separate nodes for Unicode semantics \s \w
This patch converts the \s, \w and complements Unicode semantics to
instead of using the flags field of their nodes to instead use separate
nodes. This gains some efficiency, especially useful in tight loops and
backtracking of regexec.c, and prepares the way for easily adding other
semantic variations, such as /a.
It refactors the CCC_TRY... macros. I tried to break this piece up into
smaller chunks, but found it much easier to get to this in one step.
Further patches will do some more refactoring of these.
As part of the CCC_TRY macro refactoring, the lines that include the
test if (! nextchr) are changed to just look for the end-of-string by
position instead of it being NUL. In locales, it could be (however
unlikely), that NUL is a real alphabetic, digit, or space character.
Karl Williamson [Mon, 27 Dec 2010 18:02:59 +0000 (11:02 -0700)]
regcomp.c: add missing code for optimizer for \W
The code here was asymmetrical. It did not account for Unicode
semantics when ORing \W. For \w, \s, and \S it does. This patch
changes the code to be symmetrical.
I spent a couple hours trying to come up with a test, but could not get
this area of the code to execute, which may explain why there has not
been a field report of it. It may be that it is unreachable; there has
been other code in the routine that wasn't.
Karl Williamson [Mon, 27 Dec 2010 04:03:23 +0000 (21:03 -0700)]
regcomp.c: remove unreached code
This code can never be reached, as the switch statement switches on the
regkind of the op, not the op itself; and the kind of all the locale
regnodes is the base regnode itself. For example regkind[ALNUML] is ALNUM.
Karl Williamson [Mon, 27 Dec 2010 01:00:00 +0000 (18:00 -0700)]
regex: Add separate regnodes for \w \s Uni semantics
These nodes aren't actually used yet, but allow the splitting out of
Unicode semantics for \w, \s, and complements
Karl Williamson [Sun, 26 Dec 2010 17:44:15 +0000 (10:44 -0700)]
regexec.c: Replace duplicated code by its macro
Replace two instances of code that is the same as that given by an already
existing macro.
Karl Williamson [Sun, 26 Dec 2010 17:40:29 +0000 (10:40 -0700)]
regcomp.sym: add clarifying comments
Karl Williamson [Tue, 28 Dec 2010 23:16:49 +0000 (16:16 -0700)]
op_reg_common: correct path in comment
Karl Williamson [Sun, 26 Dec 2010 17:39:12 +0000 (10:39 -0700)]
regex: Convert regnode FLAGS fields to charset enum
The FLAGS fields of certain regnodes were encoded with USE_UNI if
unicode semantics were to be used. This patch instead sets them to the
character set used, one of the possibilities of which is to use unicode
semantics. This shortens the code somewhat, and always puts the
character set in the flags field, which can allow use of switch
statements on it for efficiency, especially as new values are added.
Karl Williamson [Sun, 26 Dec 2010 17:35:58 +0000 (10:35 -0700)]
Change name of /d to DEPENDS
I much prefer David Golden's name for /d whose meaning 'depends' on
circumstances, instead of 'dual' meaning it could be one or another.
Change it before this gets out in a stable release, and we're stuck with
the old name.
Karl Williamson [Sun, 26 Dec 2010 17:35:20 +0000 (10:35 -0700)]
CH] Change usage of regex/op common to common names
This patch changes the core functions to use the common names for the
fields that are shared between op.c and regcomp.c, just for consistency
of using one name throughout the core for the same thing.
A grep of cpan shows that both names are used in various modules; so
both names must be retained.
David Golden [Mon, 17 Jan 2011 01:57:02 +0000 (20:57 -0500)]
Add HTTP::Tiny as a dual-life core module
HTTP::Tiny 0.008 has been added as a dual-life module. It is a very
small, simple HTTP/1.1 client designed for simple GET requests and file
mirroring. It has has been added to enable CPAN.pm and CPANPLUS to
"bootstrap" HTTP access to CPAN using pure Perl without relying on external
binaries like F<curl> or F<wget>.
Chris 'BinGOs' Williams [Mon, 17 Jan 2011 00:14:25 +0000 (00:14 +0000)]
Tracked down some other places to make the Unicode-Collate changes
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 23:35:42 +0000 (23:35 +0000)]
perldelta update for Unicode-Collate upgrade
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 23:23:03 +0000 (23:23 +0000)]
Update Unicode-Collate to CPAN version 0.70 and enable XS version
[DELTA]
0.70 Sun Jan 16 20:31:07 2011
- Now U::C::Locale->new will use the compiled DUCET via XS.
0.69 Sat Jan 15 19:41:11 2011
- clarified about XSUB. revised INSTALL in README.
- xs: flag passed to utf8n_to_uvuni().
- doc and comments: [perl #81876] Fix typos by Peter J. Acklam.
A pure-perl version of this module was previously installed,
this commit enables the XS version of the module instead.
Karl Williamson [Sun, 26 Dec 2010 17:31:16 +0000 (10:31 -0700)]
Use multi-bit field for regex character set
The /d, /l, and /u regex modifiers are mutually exclusive. This patch
changes the field that stores the character set to use more than one bit
with an enum determining which one. This data structure more
closely follows the semantics of their being mutually exclusive, and
conserves bits as well, and is better expandable.
A small API is added to set and query the bit field.
This patch is not .xs source backwards compatible. A handful of cpan
programs are affected.
Karl Williamson [Sun, 26 Dec 2010 17:30:40 +0000 (10:30 -0700)]
regcomp.pl: Add capability for fields to be > 1 bit
Currently, it doesn't generate a good dump structure if a field has more
than one bit.
Karl Williamson [Sun, 26 Dec 2010 17:30:12 +0000 (10:30 -0700)]
op_reg_common.h: Add guard to only expand once
This is in preparation for adding some in-line functions.
Karl Williamson [Sun, 26 Dec 2010 17:29:48 +0000 (10:29 -0700)]
Subject: [PATCH] re.pm: Correct pod statement
The /d also overrides one of the other pragmas; not just /u, /l.
Karl Williamson [Sun, 26 Dec 2010 17:29:15 +0000 (10:29 -0700)]
op.h: add blank line for grouping
Karl Williamson [Sun, 26 Dec 2010 17:28:31 +0000 (10:28 -0700)]
.pm: rename variables to reflect expanded usage
Certain variables have /dul in their names. /a is about to be added;
and maybe more, so give a more generic name to avoid future confusion
Tony Cook [Sun, 16 Jan 2011 22:55:14 +0000 (09:55 +1100)]
allow buildtoc to find libraries after chdir into pod/
Peter John Acklam [Sun, 16 Jan 2011 22:21:38 +0000 (14:21 -0800)]
[perl #82098] Fix RT 61543 and remaining part of RT 63237
Extend bmodpow() to handle negative numbers.
- dist/Math-BigInt/lib/Math/BigInt.pm: Fix bmodpow() code and make the
documentation style more like that of other methods.
- dist/Math-BigInt/t/bigintpm.inc: Edit test results so they match new
behaviour, i.e., where earlier a NaN was returned, there are now
some cases where an integer is returned, since bmodpow() now also
handles negative numbers. Also include test cases from RT 63237. The
tests themselves have all been verified to be correct using other
software.
- dist/Math-BigRat/t/bigratpm.inc: Fix test case so it matches the new
behaviour of Math::BigInt->bmodinv(). Math::BigRat->bmodinv() only
handles integers, and is essentially just a front-end to
Math::BigInt->bmodinv().
- dist/Math-BigInt/t/bare_mbi.t: Increment test count.
- dist/Math-BigInt/t/bigintpm.t: Increment test count.
- dist/Math-BigInt/t/sub_mbi.t: Increment test count.
Father Chrysostomos [Sun, 16 Jan 2011 22:09:14 +0000 (14:09 -0800)]
[perl #81584] recommend Devel::FindAmpersand
Michael Stevens [Wed, 12 Jan 2011 16:09:08 +0000 (16:09 +0000)]
Get rid of warning.
Was showing *** WARNING: node ''/flags' mode' contains non-escaped | or
/ at line 42 in file perl5137delta.pod
now fixed.
However I can't find the referenced section so there may still be a
problem.
Robin Barker [Sun, 16 Jan 2011 21:41:29 +0000 (13:41 -0800)]
util.c handling of return value of vsnprintf
At two points in util.c, there is code that use vsnprintf
if available, otherwise vsprintf. The handling of the return
value does not reflect which function has been called.
The patch tries to improve this.
Father Chrysostomos [Sun, 16 Jan 2011 22:19:29 +0000 (14:19 -0800)]
Add another address for R. Barker to checkAUTHORS.pl
Chris 'BinGOs' Williams [Sun, 16 Jan 2011 19:13:28 +0000 (19:13 +0000)]
Update Unicode-Normalize to CPAN version 1.10
[DELTA]
1.10 Sun Jan 16 21:00:34 2011
- XSUB: reorder() and compose() treat with growing the string.
- XSUB: provision against UTF8_ALLOW_* flags to be undefined in future.
- doc: about perl 5.13.x and Unicode 6.0.0
- doc and comments: [perl #81876] Fix typos by Peter J. Acklam.
Karl Williamson [Sun, 26 Dec 2010 17:28:15 +0000 (10:28 -0700)]
re.pm: correct typo
Karl Williamson [Sat, 15 Jan 2011 21:13:24 +0000 (14:13 -0700)]
Deliver t/re/charset.t
Karl Williamson [Sat, 15 Jan 2011 20:52:25 +0000 (13:52 -0700)]
White space, comment only change
Karl Williamson [Sat, 15 Jan 2011 20:42:58 +0000 (13:42 -0700)]
Fix \xa0 matching both [\s] [\S], et.al.
This bug stemmed from Latin1 characters not matching any (non-complemented)
character class in /d semantics when the target string is no utf8; but having
unicode semantics when it isn't. The solution here is to add a special flag.
There were several tests that relied on the broken behavior, specifically they
tested that \xff isn't a printable word character even in utf8. I changed the
deparse test to instead use a non-printable code point, and I changed the ones
in re_tests to be TODOs, and will change them back using /a when that is
shortly added.
Karl Williamson [Sat, 15 Jan 2011 16:45:24 +0000 (09:45 -0700)]
regcomp: Share two bits in ANYOF flags
It turns out that the INVERT and EOS flags can actually share the same bit, as
explained in the comments, freeing up a bit for other uses. No code changes
need be made.
David Mitchell [Sun, 16 Jan 2011 14:16:20 +0000 (14:16 +0000)]
restrict \p{IsUserDefined} to In\w+ and In\w+
In L<perlunicode/"User-Defined Character Properties">, it says you can
create custom properties by defining subroutines whose names begin with
"In" or "Is". However, perl doesn't actually enforce that naming
restriction, so \p{foo::bar} will call foo::Bar() if it exists.
This commit finally enforces this convention. Note that this broke a
number of existing tests for properties, since they didn't always use an
Is/In prefix.
Craig A. Berry [Sat, 15 Jan 2011 18:45:15 +0000 (12:45 -0600)]
Don't compile or link in EU::CBuilder's base class testing.
Remove the tests that try to send actual compile and link commands
to the shell and predict what their output will be. That can't
be done portably in the base class -- that's what the overrides
are for. Testing that properties get populated correctly and so
forth should be reasonably portable, though there is no guarantee
some of these won't be overridden as well (but leave them in for
now).
Vadim Konovalov [Sat, 15 Jan 2011 00:08:12 +0000 (19:08 -0500)]
Update perlguts.pod so that prose isn't a lie
(Also add a new address for vadim to checkAUTHORS
Tony Cook [Thu, 13 Jan 2011 12:29:38 +0000 (23:29 +1100)]
test that perl.pod, pod.lst, MANIFEST and the file system are consistent
Possibly this is too strict.
Michael Stevens [Thu, 13 Jan 2011 15:46:51 +0000 (15:46 +0000)]
Fix =item to be ordered list and not warn.
Karl Williamson [Fri, 14 Jan 2011 16:16:03 +0000 (09:16 -0700)]
regexec.c: Remove no longer needed goto
Karl Williamson [Fri, 14 Jan 2011 16:14:32 +0000 (09:14 -0700)]
regexec.c: Add to comment
Karl Williamson [Fri, 14 Jan 2011 16:11:56 +0000 (09:11 -0700)]
uni/fold.t: Fix TODOs that now pass
David Mitchell [Tue, 11 Jan 2011 17:22:59 +0000 (17:22 +0000)]
add enum index in overload.h comments
makes debugging marginally easier!
Karl Williamson [Fri, 14 Jan 2011 05:36:36 +0000 (22:36 -0700)]
regex: Use ANYOFV
This patch restructures the regex ANYOF code to generate ANYOFV nodes instead
when there is a possibility that it could match more than one character. Note
that this doesn't affect the optimizer, as it essentially ignores things that
fit into this category. (But it means that the optimizer will no longer reject
these when it shouldn't have.)
The handling of the LATIN SHARP s is modified to correspond with this new node
type.
The initial handling of ANYOFV is placed in regexec.c. More analysis will come
on that. But there was significant change to the part that handles matching
multi-char strings. This has long been buggy, with it previously comparing a
folded-version on one side with a non-folded version on the other.
This patch fixes about 60% of the problems that my undelivered test suite gives
for multi-char folds. But there are still 17K test failures left, so I'm still
not delivering that. The TODOs that this fixes will be cleaned up in a later commit
Karl Williamson [Fri, 14 Jan 2011 04:23:46 +0000 (21:23 -0700)]
utf8.h: Add define for max fold expansion in chars
Karl Williamson [Fri, 14 Jan 2011 04:12:21 +0000 (21:12 -0700)]
regcomp.sym: Add ANYOFV node
This node is like a straight ANYOF node to match [bracketed character classes],
but can match multiple characters; in particular it can match a multi-char
fold.
When multi-char Unicode folding was added to Perl, it was overlooked that the
ANYOF node is supposed to match exactly one character, hence there have been
bugs ever since. Adding a specialized node that can match multiple chars,
these can be fixed more easily. I tried at first to make ANYOF match multiple
chars, but this causes Perl to not be able to fully compile.
Karl Williamson [Tue, 11 Jan 2011 02:33:40 +0000 (19:33 -0700)]
regex: Some Comment clarifications
Nicholas Clark [Thu, 13 Jan 2011 17:31:55 +0000 (17:31 +0000)]
Remove code before declaration, inadvertently added in
447f000ef4448b16.
Code in dist/ isn't yet subject to all the warnings flags that the core C
code enjoys.
Nicholas Clark [Thu, 13 Jan 2011 17:04:14 +0000 (17:04 +0000)]
In Perl_write_to_stderr(), use Perl_magic_methcall() if STDERR is tied.
Add a flag G_WRITING_TO_STDERR to signal that Perl_magic_methcall() needs to
localise PL_stderrgv to NULL, and save/free temps, inside its ENTER/LEAVE
pair.
Chris 'BinGOs' Williams [Thu, 13 Jan 2011 16:34:15 +0000 (16:34 +0000)]
Update Pod-LaTeX to CPAN version 0.59
[DELTA]
2011-01-04 Tim Jenness <tjenness@cpan.org>
---- Version 0.59 CPAN ----
* t/*.t: Use Test::More for tests.
* Build.PL: Use Module::Build
* LaTeX.pm: Fix typo in pod (RT #46887 via Dave Mitchell)
Nicholas Clark [Thu, 13 Jan 2011 16:24:52 +0000 (16:24 +0000)]
ithread_create() was relying on the stack not moving. Fix this.
4cf5eae5e58faebb changed S_ithread_create() to avoid creating an AV, by
passing the thread creation arguments as pointers to a block of memory
holding SVs. Unfortunately, this inadvertently introduced a subtle bug,
because the block of memory is on the Perl stack, which can move as a side
effect of being reallocated to extend it. Hence pass in the offset on the
stack instead, read the current value of the relevant interpreter's stack
at the point of access, and copy all the SVs away before making any further
calls which might cause reallocation.
Jan Dubois [Wed, 12 Jan 2011 21:10:55 +0000 (13:10 -0800)]
Update to Win32-0.44 from CPAN
Jan Dubois [Wed, 12 Jan 2011 19:31:49 +0000 (11:31 -0800)]
Update to Win32-0.43 from CPAN
Michael Stevens [Wed, 12 Jan 2011 15:46:57 +0000 (08:46 -0700)]
Remove trailing blanks
These were generating a podchecker warning
Chris 'BinGOs' Williams [Wed, 12 Jan 2011 13:37:39 +0000 (13:37 +0000)]
Update Term-UI to CPAN version 0.24
[DELTA]
Changes for 0.24 Wed Jan 12 13:16:01 GMT 2011
=====================================================
* Skip some tests if we are not on a terminal
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 21:34:22 +0000 (21:34 +0000)]
Update IO-Compress to CPAN version 2.033
[DELTA]
2.033 11 Jan 2011
* Fixed typos & spelling errors.
[perl# 81816]
2.032 4 Jan 2011
* IO::Uncompress::Base
- An input file that had a valid header, and so would allow
creation of the uncompression object, but was then followed by
corrupt data would trigger an infinite loop when using the
input line oprator.
[RT #61915]
* IO::Compress::Gzip
- XFL default settings for max compression & fastest algorithm were
the wrong way around. Thanks to Andrey Zholos for spotting this.
* IO::Compress::Base::Common
- Fixed precedence problem in parameter parsing code.
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 19:24:58 +0000 (19:24 +0000)]
Fix execute permissions on the last commit
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 19:23:52 +0000 (19:23 +0000)]
Update Compress-Raw-Zlib to CPAN version 2.033
[DELTA]
2.033 11 Jan 2011
* Fixed typos & spelling errors.
[perl# 81782]
2.032 4 Jan 2011
* Document inflateReset
[RT #61082]
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 16:55:36 +0000 (16:55 +0000)]
Update Compress-Raw-Bzip2 to CPAN version 2.033
[DELTA]
2.033 11 Jan 2011
* Fixed typos & spelling errors.
[perl# 81782]
2.032 4 Jan 2011
* No Changes
Chris 'BinGOs' Williams [Tue, 11 Jan 2011 16:12:16 +0000 (16:12 +0000)]
Update DB_File to CPAN version 1.821
[DELTA]
1.821 10 January 2011
* Fixed typos & spelling errors.
[perl #81792]
Nicholas Clark [Tue, 11 Jan 2011 14:37:59 +0000 (14:37 +0000)]
In S_ithread_create, reduce the amount of conditionally compiled C code.
With a small amount of refactoring, compatibility across different perl
versions can be achieved with less duplication.
Karl Williamson [Tue, 11 Jan 2011 03:56:50 +0000 (20:56 -0700)]
embed.fnc: Silence 'no docs' message
I mistakenly added the 'd' flag to the entry for check_utf8_print().
Nicholas Clark [Mon, 10 Jan 2011 15:15:25 +0000 (15:15 +0000)]
Correct the "unimplemented" message for get{host,net,proto,serv}ent aliases.
Previously, if all of gethost{byaddr,byname,ent} were unimplemented on a
platform, they would all return 'Unsupported socket function "gethostent"
called', with the analogous results for getnet{byaddr,byname,ent},
getproto{byname,bynumber,ent} and getserv{byname,byport,ent}. This bug was
introduced by change
af51a00e97d5c559 - prior to this, all 12 functions would
report their own name when unimplemented.
Robin Barker [Thu, 6 Jan 2011 23:03:44 +0000 (23:03 +0000)]
remove perlapollo from perl.pod
Nicholas Clark [Mon, 10 Jan 2011 11:54:28 +0000 (11:54 +0000)]
Merge the implementations of {end,set}{gr,pw}ent with endhostent.
Unlike set{host,net,proto,serv}ent, set{gr,pw}ent don't have stayopen
parameter, hence their "signature" is the same as the ent*ent functions.
Nicholas Clark [Mon, 10 Jan 2011 10:29:06 +0000 (10:29 +0000)]
Merge the implementations of pp_s{host,net,proto,serv}ent.
Nicholas Clark [Mon, 10 Jan 2011 10:12:10 +0000 (10:12 +0000)]
Merge the implementations of pp_e{host,net,proto,serv}ent.
PL_op_desc[] rather than PL_op_name(), as the OPs are internally named e*ent,
but implement the ent*ent functions, and when unimplemented report themselves
using the function name. No need for OP_DESC(), as the switch statement means
that we can't encounter OP_CUSTOM.
Tony Cook [Mon, 10 Jan 2011 07:50:59 +0000 (18:50 +1100)]
newSVpvf_nocontext only visible with threads, fix for non-threaded
Ideally it would be available, calling Perl_newSVpvf_nocontext
directly is an alternative, but the comment in sv.c makes that
questionable.
Since the function being called from already has a context, use it.
Karl Williamson [Mon, 10 Jan 2011 01:47:18 +0000 (18:47 -0700)]
utf8.c: Renumber cases in switch
This tidies things up after several of them were removed.
Karl Williamson [Mon, 10 Jan 2011 01:39:05 +0000 (18:39 -0700)]
utf8.c: Change to warn_d in two places
The routines that these call used the warn_d forms; so these should as well.
Karl Williamson [Mon, 10 Jan 2011 01:36:10 +0000 (18:36 -0700)]
utf8.h: remove wrong, no-longer used #define
UNICODE_ILLEGAL only referred to one of 66 code points in the same class. And
they aren't illegal except in certain circumstances. New #defines have taken
over the use this formerly had, so it is now meaningless.
Karl Williamson [Mon, 10 Jan 2011 01:34:43 +0000 (18:34 -0700)]
mktables: Now can test surrogates and nonchars
This is a result of their now being more accepted in core
Karl Williamson [Mon, 10 Jan 2011 01:33:00 +0000 (18:33 -0700)]
Document the flip of problematic code points handling
Karl Williamson [Sun, 9 Jan 2011 22:33:28 +0000 (15:33 -0700)]
Add warnings for use of problematic code points
The non-Unicode code points have no Unicode semantics, so applying operations
such as casing on them warns.
This patch also includes the changes to test the warnings added by recent
commits for handling the surrogates and above-Unicode code points
Karl Williamson [Sun, 9 Jan 2011 22:30:08 +0000 (15:30 -0700)]
utf8.c: Whitespace only
outdent in response to the enclosing block being removed
Karl Williamson [Sun, 9 Jan 2011 22:28:29 +0000 (15:28 -0700)]
op.c: Remove unnecessary flag
This flag no longer does anything
Karl Williamson [Sun, 9 Jan 2011 20:50:18 +0000 (13:50 -0700)]
utf8.c(): Default to allow problematic code points
Surrogates, non-character code points, and code points that aren't in Unicode
are now allowed by default, instead of having to specify a flag to allow them.
(Most code did specify those flags anyway.)
This affects uvuni_to_utf8_flags(), utf8n_to_uvuni() and various routines that
are specialized interfaces to them.
Now there is a new set of flags to disallow those code points. Further, all 66
of the non-character code points are known about and handled consistently,
instead of just U+FFFF.
Code that requires these code points to be forbidden will have to change to use
the new flags. I have looked at all the (few) instances in CPAN where these
routines are used, and the only one I found that appears to have need to do
this, Encode, has already been patched to accommodate this change. Of course,
I may have overlooked some subtleties.
Karl Williamson [Sun, 9 Jan 2011 20:33:21 +0000 (13:33 -0700)]
utf8.c: Nits in pod
Karl Williamson [Sun, 9 Jan 2011 19:37:03 +0000 (12:37 -0700)]
Add check_utf8_print()
This new function looks for problematic code points on output, and warns if any
are found, returning FALSE as well.
What it warns about may change, so is marked as experimental.
Karl Williamson [Sun, 9 Jan 2011 16:14:00 +0000 (09:14 -0700)]
perldiag.pod: Remove more format precisions
Commit
78d0fecf645563eb571499ade0590a1389a977a8 missed several printf formats.
Karl Williamson [Sun, 9 Jan 2011 16:09:54 +0000 (09:09 -0700)]
diag.t: Change so a fixed TODO passes
Commit
9c3e8e01b899ff41442e59a8d18532c177d1bdee changed diag.t so that it now
checks if a TODO passes, but it caused the tests to fail. This causes a TODO
passed instead.
Karl Williamson [Thu, 6 Jan 2011 19:41:46 +0000 (12:41 -0700)]
utf8.h: white space, add comments
Ricardo Signes [Sun, 9 Jan 2011 19:22:31 +0000 (14:22 -0500)]
update Module::CoreList for v5.12.3
Nicholas Clark [Sat, 8 Jan 2011 15:56:22 +0000 (15:56 +0000)]
Generate "Unsupported socket function" stubs using PL_ppaddr.
Instead of having each socket op conditionally compile as either the
implementation or a DIE() depending on #HAS_SOCKET
1: remove the conditional code from the ops themselves
2: only compile the ops if HAS_SOCKET is defined
3: general conditional code for the intialisation of PL_ppaddr - as appropriate
either the ops, or Perl_unimplemented_op
4: Amend Perl_unimplemented_op to generate the appropriate DIE() for socket
ops (ie not the "panic"... message)
Whilst this complicates the support code in regen/opcode.pl, it's already a
net saving of 5 lines in the C code.
Nicholas Clark [Sat, 8 Jan 2011 13:49:21 +0000 (13:49 +0000)]
Rename pp_send to pp_syswrite, making send an alias for syswrite.
Previously syswrite was an alias for send. However, syswrite is always
available, whereas send is not implemented if HAS_SOCKET is not defined.
Nicholas Clark [Sat, 8 Jan 2011 11:11:52 +0000 (11:11 +0000)]
In opcode.h, use the alias macros in PL_ppaddr[]
For OPs that share implementations, use #define aliases for the "original"
names in PL_ppaddr[], instead of having regen/opcode.pl replace them with
the name of the implementing OP body. Whilst this initially adds another layer
of indirection, it will give more flexibility where conditional compilation of
OPs is determined by the feature macros in config.h
Nicholas Clark [Sun, 9 Jan 2011 11:45:00 +0000 (11:45 +0000)]
Remove commented-out code from regen/opcode.pl
Nicholas Clark [Sun, 9 Jan 2011 11:27:19 +0000 (11:27 +0000)]
regen/opcode.pl should only generate prototypes for pp_* functions that exist.
It now generates prototypes for all functions that implement OPs. Hence
Perl_unimplemented_op no longer needs a special-case prototype. As it is now
generating a prototype for Perl_do_kv, no need for regen/embed.pl to duplicate
this. Convert the last two users of the macro do_kv() to Perl_do_kv(aTHX).
Nicholas Clark [Sun, 9 Jan 2011 10:54:58 +0000 (10:54 +0000)]
Generate pp_* prototypes in pp_proto.h, and remove pp.sym
Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
locations that relied on them.
regen/opcode.pl now generates prototypes for the PP functions directly, into
pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
this, removing the only ordering dependency in the regen scripts. opcode.pl
is now responsible for prototypes for pp_* functions. (embed.pl remains
responsible for ck_* functions, reading from regen/opcodes)
Nicholas Clark [Sun, 9 Jan 2011 10:08:29 +0000 (10:08 +0000)]
embed.pl can read the names of ck_* functions direct from regen/opcodes
Previously regen/opcode.pl wrote them to pp.sym for regen/embed.pl to read.
Nicholas Clark [Sun, 9 Jan 2011 09:38:11 +0000 (09:38 +0000)]
Extract the opcode data from regen/opcode.pl into regen/opcodes
Whilst it is possible to open regen/opcode.pl and parse it to find the __END__
token, it's not the cleanest approach.
Nicholas Clark [Sun, 2 Jan 2011 19:13:12 +0000 (19:13 +0000)]
Replace OP stubs in mathoms.c with #define aliases in opcode.h
External code that references OPs by name will still link (and work).
Unlike the other compatibility functions in mathoms.c, the OP stubs were simply
making calls onwards to their replacements, so simply taking up space without
adding anything.
Chris 'BinGOs' Williams [Sun, 9 Jan 2011 00:16:46 +0000 (00:16 +0000)]
Update CPANPLUS to CPAN version 0.9011
[DELTA]
Changes for 0.9011 Fri Jan 7 22:01:56 2011
================================================
* Remove reporting $! after make test fails. It is misleading
in test reports
* Don't unset PERL_MM_USE_DEFAULT if it is already set
in cpan2dist
* Apply blead patches from Peter Acklam
Chris 'BinGOs' Williams [Sun, 9 Jan 2011 00:02:26 +0000 (00:02 +0000)]
Update CPANPLUS-Dist-Build to CPAN version 0.52
[DELTA]
0.52 Fri Jan 7 22:23:03 GMT 2011
- Apply blead patch from Peter Acklam
Chris 'BinGOs' Williams [Sat, 8 Jan 2011 23:38:05 +0000 (23:38 +0000)]
Update Term-UI to CPAN version 0.22
[DELTA]
Changes for 0.22 Fri Jan 7 21:55:38 GMT 2011
=====================================================
* Apply blead patch from Peter Acklam
Chris 'BinGOs' Williams [Sat, 8 Jan 2011 23:23:45 +0000 (23:23 +0000)]
Update Params-Check to CPAN version 0.28
[DELTA]
Changes for 0.28 Fri Jan 7 21:52:28 2011
============================================
* Apply blead patch from Peter Acklam
Karl Williamson [Sat, 8 Jan 2011 23:04:24 +0000 (16:04 -0700)]
diag.t: Remove printf conversion modifiers from msgs
The user doesn't need to know that the message was formatted with, eg., and
'ld' vs just a 'd'