perl.git
8 years agoThis patch with tests resolves CPAN RT #40727. The issue is an infi-
Todd Rinaldo [Sat, 25 Sep 2010 18:20:10 +0000 (11:20 -0700)] 
This patch with tests resolves CPAN RT #40727. The issue is an infi-
nite loop during _compile when working with tainted values. The issue
was triggered by perlbugs 60378,27344. Both have been resolved but
they are still broken in perl 5.12.x and earlier.

The patch simply assigns $_[1] to a variable and uses that
from then on.

8 years agoTry once more to fix sigtrap.t
Father Chrysostomos [Sat, 25 Sep 2010 18:15:35 +0000 (11:15 -0700)] 
Try once more to fix sigtrap.t

It produces output like this:
lib/sigtrap....................................................sh: line 1: 66151 Abort trap              ./perl "-I../lib" -Msigtrap=INT -e 'sub { kill q-INT-, $$ } -> (3)' 2>&1
ok

And is effectively skipped on Windows.

So this new revision of the test
• calls the signal handler directly, instead of trying to trigger it
  with a signal and
• overrides kill globally to stop sigtrap.pm from aborting.

8 years agohandy.h: Fix so x2p compiles
Karl Williamson [Sat, 25 Sep 2010 15:07:03 +0000 (09:07 -0600)] 
handy.h: Fix so x2p compiles

The recent series of commits on handy.h causes x2p to not compile.
These commits had some differences from what I submitted, in that they
moved the new table to a new header file instead of the submitted
perl.h.   Unfortunately, this bypasses code in perl.h that figures
out about duplicate definitions, and externs, and so fails on programs
that include handy.h but not perl.h.

This patch changes things so that the table lookup is not used unless
perl.h is included.  This is essentially my original patch, but adding
an #include of the new header file.

8 years agoFixed 5.14 release dates to have the correct year.
Jesse Vincent [Sat, 25 Sep 2010 12:39:13 +0000 (08:39 -0400)] 
Fixed 5.14 release dates to have the correct year.

8 years agoRemove targets depending on the removed emacs/ dir
Florian Ragwitz [Sat, 25 Sep 2010 11:37:57 +0000 (13:37 +0200)] 
Remove targets depending on the removed emacs/ dir

8 years agohandy.h: Add isFOO_L1() macros, using table lookup
Karl Williamson [Fri, 24 Sep 2010 05:14:58 +0000 (23:14 -0600)] 
handy.h: Add isFOO_L1() macros, using table lookup

This patch adds *_L1() macros for character class lookup, using table
lookup for O(1) performance.  These force a Latin-1 interpretation on
ASCII platforms.

There were a couple existing macros that had the suffix U for Unicode
semantics.  I thought that those names might be confusing, so settled on
L1 as the least bad name.  The older names are kept as synonyms for
backward compatibility.  The problem with those names is that these are
actually macros, not functions, and hence can be called with any int,
including any Unicode code point.  The U suffix might be mistaken for
indicating they are more general purpose, whereas they are really only
valid for the latin1 subset of Unicode (including the EBCDIC isomorphs).
When called with something outside the latin1 range, they will return
false.

This patch necessitated rearranging a few things in the file.  I added
documentation for several more macros, and intend to document the rest.

(This commit was modified from its original form by Steffen.)

8 years agohandy.h: Make isWORDCHAR() primary documentation
Karl Williamson [Fri, 24 Sep 2010 03:26:47 +0000 (21:26 -0600)] 
handy.h: Make isWORDCHAR() primary documentation

This macro is clearer as to intent over isALNUM, and isn't confusable
with isALNUMC.  So document it primarily.

8 years agohandy.h: Slightly change the pod
Karl Williamson [Fri, 24 Sep 2010 03:21:20 +0000 (21:21 -0600)] 
handy.h: Slightly change the pod

8 years agohandy.h: alphabetize pod entries
Karl Williamson [Fri, 24 Sep 2010 03:12:51 +0000 (21:12 -0600)] 
handy.h: alphabetize pod entries

There are a number of macros missing from the documentation.  This helps
me figure out which ones.

8 years agohandy.h: Change isFOO_A() to be O(1) performance
Karl Williamson [Fri, 24 Sep 2010 03:04:58 +0000 (21:04 -0600)] 
handy.h: Change isFOO_A() to be O(1) performance

This patch changes the macros whose names end in _A to use table lookup
except for the one (isASCII) which always has only one comparison.

The table is in l1_char_class_tab.h.

The advantage of this is speed.  It replaces some fairly complicated
expressions with an O(1) look-up and a mask.

It uses the FITS_IN_8_BITS() macro to guarantee that the table bounds
are not exceeded.  For legal inputs that are byte size, the optimizer
should get rid of this macro leaving only the lookup and mask.

(This commit was changed from its original form by Steffen.)

8 years agoAdd 256 word bit table of character classes
Karl Williamson [Fri, 24 Sep 2010 02:47:03 +0000 (20:47 -0600)] 
Add 256 word bit table of character classes

This patch adds a table for looking up character classes.  It is 256
words long, in l1_char_class_tab.h, with each word corresponding to the
ordinal of a Latin1 character, and each word contains a bit map of all
the properties that character matches.  Each property has a bit or two.
Ones named _CC_property_A are true only if the character is also in the
ASCII character set.  Ones named CC_property_L1 do not have this
restriction.  (L1 stands for Latin1.)

Also added is a script that generates the table.  It is not anticipated
that this will need to be used often.

(This commit was changed from its original form by Steffen.)

8 years agohandy.h: EBCDIC should use native isalpha()
Karl Williamson [Fri, 24 Sep 2010 02:42:40 +0000 (20:42 -0600)] 
handy.h: EBCDIC should use native isalpha()

8 years agohandy.h: Add isFOO_A() macros for ASCII range matches
Karl Williamson [Fri, 24 Sep 2010 02:27:32 +0000 (20:27 -0600)] 
handy.h: Add isFOO_A() macros for ASCII range matches

These macros return true only if the parameter is an ASCII character.

8 years agohandy.h: should use EBCDIC libc isdigit()
Karl Williamson [Thu, 23 Sep 2010 21:40:21 +0000 (15:40 -0600)] 
handy.h: should use EBCDIC libc isdigit()

as is better optimized and suitable for the purpose.

8 years agohandy.h: move macro in file
Karl Williamson [Thu, 23 Sep 2010 21:08:06 +0000 (15:08 -0600)] 
handy.h: move macro in file

8 years agoSubject: handy.h: Add isWORDCHAR() for clarity
Karl Williamson [Thu, 23 Sep 2010 20:40:42 +0000 (14:40 -0600)] 
Subject: handy.h: Add isWORDCHAR() for clarity

The name isALNUM() is problematic, as it is very close to isALNUMC(),
and doesn't mean exactly what most people might think.  I presume the C
in isALNUMC stands for C language or libc, but am not sure.  Others
don't know either.  But in any event, isALNUM is different from the C
isalnum(), in that it matches the Perl concept of \w, which differs from
the C definition in exactly one place.  Perl includes the underscore
character, '_'.

So, I'm adding a isWORDCHAR() macro for future code to use to be more
clear.  I thought also about isWORD(), but I think confusion can arise
from thinking that means a whole word.  isWORDCHAR_L1() matches in the
Latin1 range, to be equivalent to isALNUMU().  The motivation for using
L1 instead of U will be explained in a commit message for the other L1
macros that are to be added.

8 years agoAdd a comment; clarify another
Karl Williamson [Thu, 23 Sep 2010 20:30:54 +0000 (14:30 -0600)] 
Add a comment; clarify another

8 years agoIndent a comment better
Karl Williamson [Thu, 23 Sep 2010 20:27:57 +0000 (14:27 -0600)] 
Indent a comment better

8 years agoSubject: handy.h: Reorder #defines alphabetically
Karl Williamson [Thu, 23 Sep 2010 20:26:51 +0000 (14:26 -0600)] 
Subject: handy.h: Reorder #defines alphabetically

The only change here is that I sorted these #defines within their
groups, to make it much easier to follow what's going on.

8 years agohandy.h: isSPACE() is wrong for EBCDIC
Karl Williamson [Thu, 23 Sep 2010 20:14:09 +0000 (14:14 -0600)] 
handy.h: isSPACE() is wrong for EBCDIC

It didn't include the Latin1 space components.

8 years agohandy.h: EBCDIC isBLANK() is wrong
Karl Williamson [Thu, 23 Sep 2010 19:57:51 +0000 (13:57 -0600)] 
handy.h: EBCDIC isBLANK() is wrong

It doesn't include NBSP

8 years agohandy.h: isPSXSPC() is wrong for EBCDIC
Karl Williamson [Thu, 23 Sep 2010 19:45:58 +0000 (13:45 -0600)] 
handy.h: isPSXSPC() is wrong for EBCDIC

The macro was using the ASCII definition, which doesn't include NEL nor
NBSP.  But, libc contains the correct definition, which is usable on
EBCDIC since we don't worry about locales there.

8 years agoSubject: handy.h: Move defn's outside #ifndef EBCDIC
Karl Williamson [Thu, 23 Sep 2010 19:41:52 +0000 (13:41 -0600)] 
Subject: handy.h: Move defn's outside #ifndef EBCDIC

Commit 4125141464884619e852c7b0986a51eba8fe1636 improperly got rid of
EBCDIC handling, as it combined the ASCII and EBCDIC versions, but left
the result in the ASCII-only branch.  Just move to the common code.

8 years agocharnames.pm: reformat comments
Karl Williamson [Mon, 13 Sep 2010 04:19:54 +0000 (22:19 -0600)] 
charnames.pm: reformat comments

Now that have less indent, don't need so many lines.  The only changes
in this commit are several blocks of comments to occupy more of each
line.  No wording changes are involved.

8 years agocharnames.pm: indent less to fit in 80 columns
Karl Williamson [Mon, 13 Sep 2010 04:17:35 +0000 (22:17 -0600)] 
charnames.pm: indent less to fit in 80 columns

This patch changes white space only.  It lessens the indent of certain
lines that were made longer in an earlier commit, and now most of them
fit into 80 columns.

8 years agoTeach Perl about Unicode named character sequences
Karl Williamson [Mon, 13 Sep 2010 03:33:12 +0000 (21:33 -0600)] 
Teach Perl about Unicode named character sequences

mktables is changed to process the Unicode named sequence file.
charnames.pm is changed to cache the looked-up values in utf8.  A new
function, string_vianame is created that can handle named sequences, as
the interface for vianame cannot.  The subroutine lookup_name() is
slightly refactored to do almost all of the common work for \N{} and the
vianame routines.  It now understands named sequences as created my
mktables..

tests and documentation are added.  In the randomized testing section,
half use vianame() and half string_vianame().

8 years agocharnames.pm: Nits in pod
Karl Williamson [Sun, 12 Sep 2010 18:46:07 +0000 (12:46 -0600)] 
charnames.pm: Nits in pod

8 years agoperlrecharclass.pod: Add caveat about multi-char sequences
Karl Williamson [Sun, 12 Sep 2010 16:47:56 +0000 (10:47 -0600)] 
perlrecharclass.pod: Add caveat about multi-char sequences

Inside a bracketed character class, any \N{name} which expands to more
than one character will have only the first one considered.  This
doesn't need named character sequences, as user-defined aliases have
long been able to be multi-char.

8 years agocharnames.pm: Clarify comments
Karl Williamson [Sun, 12 Sep 2010 16:27:36 +0000 (10:27 -0600)] 
charnames.pm: Clarify comments

8 years agocharnames.t: Add output message
Karl Williamson [Sun, 12 Sep 2010 15:50:15 +0000 (09:50 -0600)] 
charnames.t: Add output message

8 years agocharnames.t: Clarify message
Karl Williamson [Sat, 11 Sep 2010 19:35:23 +0000 (13:35 -0600)] 
charnames.t: Clarify message

8 years agocharnames.t: Clarify value is hex
Karl Williamson [Sat, 11 Sep 2010 19:11:44 +0000 (13:11 -0600)] 
charnames.t: Clarify value is hex

8 years agocharnames.t: Add tests for NameAliases
Karl Williamson [Sat, 11 Sep 2010 19:10:37 +0000 (13:10 -0600)] 
charnames.t: Add tests for NameAliases

8 years agoFix casing, wording
Karl Williamson [Sat, 11 Sep 2010 17:17:03 +0000 (11:17 -0600)] 
Fix casing, wording

8 years agoFix spelling
Karl Williamson [Sat, 11 Sep 2010 15:20:04 +0000 (09:20 -0600)] 
Fix spelling

8 years agocharnames.pm: Change variable name
Karl Williamson [Fri, 10 Sep 2010 17:38:25 +0000 (11:38 -0600)] 
charnames.pm: Change variable name

This is an intermediate commit in preparation for handling named
sequences

8 years agocharnames.t: Add code so can test 100% of names
Karl Williamson [Fri, 10 Sep 2010 16:47:47 +0000 (10:47 -0600)] 
charnames.t: Add code so can test 100% of names

If the percentage of characters to test is changed to 100%, add code to
make the block size 1.  This guarantees each character gets tested in
spite of randomness

8 years agocharnames.t: clarify comments
Karl Williamson [Fri, 10 Sep 2010 16:47:15 +0000 (10:47 -0600)] 
charnames.t: clarify comments

8 years agocharnames.t: Don't call srand(undef)
Karl Williamson [Fri, 10 Sep 2010 00:06:22 +0000 (18:06 -0600)] 
charnames.t: Don't call srand(undef)

srand(undef) is the same as srand(0).  The code is trying to get random
seeds, not a fixed one.

8 years agocharnames: Remove unnecessary \t in Name.pl
Karl Williamson [Thu, 9 Sep 2010 23:50:16 +0000 (17:50 -0600)] 
charnames: Remove unnecessary \t in Name.pl

The double \t\t is unnecessary, and so we can remove one of them,
shortening the table.

8 years agocharnames.pm: Small performance enhancements
Karl Williamson [Thu, 9 Sep 2010 23:16:53 +0000 (17:16 -0600)] 
charnames.pm: Small performance enhancements

mktables is changed to output 5 digit code points, which means that
charnames doesn't have to go looking for the boundaries, which gives a
slight performance enhancement.

8 years agomktables: Remove stubbed out code
Karl Williamson [Thu, 9 Sep 2010 22:34:55 +0000 (16:34 -0600)] 
mktables: Remove stubbed out code

This commented out code will never be used, as a different solution was
done in charnames.

It was to automatically handle parenthesized character names.  Unicode
is extremely unlikely to ever add new names like this, and all the
existing names are now hard-coded in charnames.pm

8 years agoUse the same $func to Perl_$func macros independent of multiplicity.
Nicholas Clark [Wed, 22 Sep 2010 15:31:16 +0000 (16:31 +0100)] 
Use the same $func to Perl_$func macros independent of multiplicity.

The macros of the form #define foo(a, b) Perl_foo(aTHX_ a, b) will also work
under non-multiplicity. There's no issue with adding explicit arguments in
the non-multiplicity case, because it changes one form of compile-time error
into another. (Function Perl_foo passed the wrong number of arguments into
macro foo passed the wrong number of arguments.)

8 years agoMake the new sigtrap.t test more tolerant of OS differences
Father Chrysostomos [Sat, 25 Sep 2010 06:12:00 +0000 (23:12 -0700)] 
Make the new sigtrap.t test more tolerant of OS differences

8 years agodefine SvTRUE_nomg for compilers other than gcc
Father Chrysostomos [Sat, 25 Sep 2010 05:22:26 +0000 (22:22 -0700)] 
define SvTRUE_nomg for compilers other than gcc

This time I *really* broke the Windows build!

8 years agoperldelta entries for the double-magic fixes [perl #76814]
Father Chrysostomos [Sat, 25 Sep 2010 03:42:54 +0000 (20:42 -0700)] 
perldelta entries for the double-magic fixes [perl #76814]

8 years ago[perl #76814] FETCH called twice - y
Father Chrysostomos [Sat, 25 Sep 2010 03:33:47 +0000 (20:33 -0700)] 
[perl #76814] FETCH called twice - y

This patch stops y from calling get-magic twice. (This has caused
double magick since as far back as 5.6.2.)

8 years ago[perl #76814] FETCH called twice - m and s
Father Chrysostomos [Sat, 25 Sep 2010 03:33:42 +0000 (20:33 -0700)] 
[perl #76814] FETCH called twice - m and s

This fixes m and s. It modifies pp_regcomp to avoid extra magic. It
also corrects a bug in sv_catsv_flags, which would still call
mg_get(ssv) even without the SV_GMAGIC flag set.

8 years ago[perl #76814] FETCH called twice - !
Father Chrysostomos [Sat, 25 Sep 2010 03:33:03 +0000 (20:33 -0700)] 
[perl #76814] FETCH called twice - !

This fixes ! by changing sv_2bool to sv_2bool_flags (with a macro
wrapper) and adding SvTRUE_nomg. It also corrects the docs that state
incorrectly that SvTRUE does not handle magic.

8 years ago[perl #76814] FETCH called twice - string comparison ops
Father Chrysostomos [Sat, 25 Sep 2010 03:31:28 +0000 (20:31 -0700)] 
[perl #76814] FETCH called twice - string comparison ops

This patch changes sv_eq, sv_cmp, sv_cmp_locale and sv_collxfrm
to _flags forms, with macros under the old names for sv_eq and
sv_collxfrm, but functions for sv_cmp* since pp_sort.c needs them.

8 years agoCommitting the current freeze and release plan for 5.14. khw++ for
Jesse Vincent [Fri, 24 Sep 2010 23:20:29 +0000 (19:20 -0400)] 
Committing the current freeze and release plan for 5.14.  khw++ for
noticing that I'd failed to do this after conference season.

8 years agoFis various Math::BigInt spelling mistakes
gregor herrmann [Fri, 24 Sep 2010 20:17:34 +0000 (22:17 +0200)] 
Fis various Math::BigInt spelling mistakes

8 years ago[perl #78000] [PATCH] Upgrade to threads 1.79
Jerry D. Hedden [Fri, 24 Sep 2010 20:42:04 +0000 (21:42 +0100)] 
[perl #78000] [PATCH] Upgrade to threads 1.79

  Attached is a revised patch to upgrade to v1.79.  I needed to fix
  the tests in the newly added t/kill2.t file.  The blead version will
  be 1.79_01.

8 years agoModify a utf8.t test in anticipation of a fix for [perl #74022]
Father Chrysostomos [Fri, 24 Sep 2010 19:28:36 +0000 (12:28 -0700)] 
Modify a utf8.t test in anticipation of a fix for [perl #74022]

In anticipation of a fix for [perl #74022], this patch corrects the
test for q·foo· in utf8.t to use ¡ instead of ·. I’ve also moved the
test outside of the eval, so it will still run (and fail) if the com-
pilation fails, instead of causing an invalid test count.

8 years agofix typo in perl5135delta
David Golden [Fri, 24 Sep 2010 18:03:49 +0000 (18:03 +0000)] 
fix typo in perl5135delta

8 years agoperldelta: Note Perl version of regexp_pattern()
Karl Williamson [Fri, 24 Sep 2010 14:46:12 +0000 (08:46 -0600)] 
perldelta: Note Perl version of regexp_pattern()

perldelta suggests using this, but it didn't come into being until
5.9.5, so cpan modules may not be able to use it.

8 years agoAdd a warning to test.pl if quotes are used in one-liners.
Nicholas Clark [Fri, 24 Sep 2010 10:46:41 +0000 (11:46 +0100)] 
Add a warning to test.pl if quotes are used in one-liners.

Fix all the tests that were using quotes, and (by implication) working
because barewords are treated as strings, and one-liners aren't run under
strict.

8 years agoAvoid using double quotes in a one-liner runperl.
Nicholas Clark [Fri, 24 Sep 2010 10:22:24 +0000 (11:22 +0100)] 
Avoid using double quotes in a one-liner runperl.

test.pl uses "" for command line quoting on Win32, VMS and NetWare, '' on *nix.
Hence what "works on my machine" on *nix may not work elsewhere.

8 years agosigtrap version bump + perldelta
Father Chrysostomos [Fri, 24 Sep 2010 07:45:35 +0000 (00:45 -0700)] 
sigtrap version bump + perldelta

8 years agoMissing link in perldelta
Father Chrysostomos [Fri, 24 Sep 2010 07:42:32 +0000 (00:42 -0700)] 
Missing link in perldelta

8 years agoAdd tests for [perl #72340] sigtrap attempts to modify read-only thing
Father Chrysostomos [Fri, 24 Sep 2010 07:34:04 +0000 (00:34 -0700)] 
Add tests for [perl #72340] sigtrap attempts to modify read-only thing

8 years ago[perl #72340] sigtrap attempts to modify read-only thingy
Joshua N Pritikin [Fri, 24 Sep 2010 07:23:46 +0000 (00:23 -0700)] 
[perl #72340] sigtrap attempts to modify read-only thingy

No much to say. sigtrap otherwise attempts to modify a
read-only thingy. Patch below solves it for me.

8 years agoAdd Joshua Pritikin’s other e-mail address to checkAUTHORS.pl
Father Chrysostomos [Fri, 24 Sep 2010 07:22:11 +0000 (00:22 -0700)] 
Add Joshua Pritikin’s other e-mail address to checkAUTHORS.pl

8 years agoThe rest of [perl #71710] fixes for File::Find
Alex Davies [Fri, 24 Sep 2010 07:12:27 +0000 (00:12 -0700)] 
The rest of [perl #71710] fixes for File::Find

The code is from Alex Davies. The commit message is from the committer.

Somehow I only ended up with half the patch applied. No tests failed
for me, because these code paths are only reached on Windows, which,
thankfully, I am not using.

Hopefully this will eliminate the smoke that is already pouring in....

(It’s *my* turn to break blead for Windows. :-)

8 years agoOops. I broke sigtrap.t’s test output
Father Chrysostomos [Fri, 24 Sep 2010 07:03:23 +0000 (00:03 -0700)] 
Oops. I broke sigtrap.t’s test output

8 years agoRename isALNUM_L1 to isWORDCHAR_L1
Karl Williamson [Fri, 24 Sep 2010 06:24:18 +0000 (23:24 -0700)] 
Rename isALNUM_L1 to isWORDCHAR_L1

8 years agoConvert sigtrap.t to test.pl
Father Chrysostomos [Fri, 24 Sep 2010 06:08:18 +0000 (23:08 -0700)] 
Convert sigtrap.t to test.pl

8 years agohandy.h: Add isALNUM_L1() macro
Karl Williamson [Thu, 23 Sep 2010 18:16:12 +0000 (12:16 -0600)] 
handy.h: Add isALNUM_L1() macro

This is a synonym for isALNUMU

8 years agoSubject: handy.h: Add isSPACE_L1 with Unicode semantics
Karl Williamson [Thu, 23 Sep 2010 17:32:13 +0000 (11:32 -0600)] 
Subject: handy.h: Add isSPACE_L1 with Unicode semantics

8 years agoperldelta: Give better instructions about (?^...)
Karl Williamson [Fri, 24 Sep 2010 01:50:34 +0000 (19:50 -0600)] 
perldelta: Give better instructions about (?^...)

Avar pointed out that there is an existing API wwhich helps in coping
with this

8 years agoperldelta entry for File::DosGlob
Father Chrysostomos [Fri, 24 Sep 2010 05:15:02 +0000 (22:15 -0700)] 
perldelta entry for File::DosGlob

8 years ago[perl #71712] fixes for File::DosGlob
Alex Davies [Fri, 24 Sep 2010 05:08:28 +0000 (22:08 -0700)] 
[perl #71712] fixes for File::DosGlob

The changes are

1. Allow for parentheses in glob pattern.
2. Strip redundant "./" from drive relative glob patterns results.

8 years ago* Fixed output for lex-like scanners example in perlop
brian d foy [Fri, 24 Sep 2010 01:43:00 +0000 (20:43 -0500)] 
* Fixed output for lex-like scanners example in perlop
     This should probably be given-when instead of a naked block
     and a redo

8 years agoperlfaa4: fix a one-off mistake
brian d foy [Fri, 24 Sep 2010 01:34:08 +0000 (20:34 -0500)] 
perlfaa4: fix a one-off mistake
    + How do I perform an operation on a series of integers?

8 years agoperldelta entry for File::Find
Father Chrysostomos [Fri, 24 Sep 2010 00:45:59 +0000 (17:45 -0700)] 
perldelta entry for File::Find

8 years ago[perl #71710] fixes for File::Find
Alex Davies [Fri, 24 Sep 2010 00:23:49 +0000 (17:23 -0700)] 
[perl #71710] fixes for File::Find

Please find attached patches for File::Find and its test file.

These changes ensure that paths passed to File::Find::find() on Win32
which have a trailing *back*slash are neatly handled. That is, the
change ensures paths such as c:\dir\/file are no longer generated.

8 years agoUpdated Unicode-Collate to CPAN version 0.60
Chris 'BinGOs' Williams [Thu, 23 Sep 2010 16:46:43 +0000 (17:46 +0100)] 
Updated Unicode-Collate to CPAN version 0.60

  [DELTA]

  0.60  Thu Sep 23 21:37:36 2010
    - bug fix: index() [and its friends including gmatch()] didn't remove
      ignorable characters in the substring correctly.
      Thanks for the bug report:
   http://www.xray.mpe.mpg.de/mailing-lists/perl-unicode/2010-09/msg00014.html

    - U::C::Locale newly supports locales: de__phonebook, nso, om, tn, vi.
    - precomposites of a-breve, a-circ, e-circ, o-circ are tailored as well.
        (affected locales: ro, sk, sv)

8 years agoAdd default safe guesses for static_inline to plan9 files.
Andy Dougherty [Thu, 23 Sep 2010 16:06:10 +0000 (12:06 -0400)] 
Add default safe guesses for static_inline to plan9 files.

8 years agoAdd static inline values to canned Netware/config_H.wc file.
Andy Dougherty [Thu, 23 Sep 2010 15:59:47 +0000 (11:59 -0400)] 
Add static inline values to canned Netware/config_H.wc file.

8 years agoUpdate canned win32/config_H.* files with static inline values
Andy Dougherty [Thu, 23 Sep 2010 15:55:28 +0000 (11:55 -0400)] 
Update canned win32/config_H.* files with static inline values
to match the canned win32/config.* settings.  For .bc and
.ce, we still have a plain 'static'.  Better settings from
knowledgeable users about those platforms would be welcome.

8 years agoUpdate static_inline guesses in win32/config.[gv]c*
Andy Dougherty [Thu, 23 Sep 2010 15:53:16 +0000 (11:53 -0400)] 
Update static_inline guesses in win32/config.[gv]c*

For gcc, assume all variants used on Win32 will support
static __inline__.  VC already had static __inline.
Update VC64 to match.

8 years agoSome tests for Perl_grok_number().
Nicholas Clark [Thu, 23 Sep 2010 14:16:05 +0000 (15:16 +0100)] 
Some tests for Perl_grok_number().

Not yet comprehensive - only tests the integer conversion code paths.

8 years agoSet default static inline for Netware/config.wc.
Andy Dougherty [Thu, 23 Sep 2010 14:07:41 +0000 (10:07 -0400)] 
Set default static inline for Netware/config.wc.

If anyone knows how to support static inline on Netware,
a patch would be appreciated.

8 years agoAdd default setting of perl_static_inline='static' to all win32 configs.
Andy Dougherty [Thu, 23 Sep 2010 13:56:11 +0000 (09:56 -0400)] 
Add default setting of perl_static_inline='static' to all win32 configs.

Win32 users who know better are invited to change the definitions
as appropriate, but this should at least allow it to build.

8 years agoSet d_static_inline for win32/config.vc, since VC supports static __inline.
Andy Dougherty [Thu, 23 Sep 2010 13:53:43 +0000 (09:53 -0400)] 
Set d_static_inline for win32/config.vc, since VC supports static __inline.

8 years agoMake dquote_static.c available to ext/re/
Tony Cook [Thu, 23 Sep 2010 10:44:37 +0000 (20:44 +1000)] 
Make dquote_static.c available to ext/re/

Under Win32 the main perl source directory isn't in the C include
path, so as we do with the re source files, copy dquote_static.c to
the ext/re directory.

8 years agoConfigure inline support for 32-bit VC++
Tony Cook [Thu, 23 Sep 2010 10:43:44 +0000 (20:43 +1000)] 
Configure inline support for 32-bit VC++

VC supports static inline via "static __inline".

8 years ago[perl #71806] perldb does not setup %dbline with the shebang option -d
Father Chrysostomos [Thu, 23 Sep 2010 08:38:10 +0000 (01:38 -0700)] 
[perl #71806] perldb does not setup %dbline with the shebang option -d

The first time gv_fetchfile is called for a particular file, it
creates the glob and, if debugging is on, creates an AV. If the glob
already exists (i.e., in subsequent calls), the AV is not created. The
attached patch moves the check for debugging mode and the creation of
the AV outside the if-block that checks whether the glob exists.

This bug seems to have existed for a very long time and has been
intermittent. It seems that many different things can change the order
in which #!perl -d and gv_fetchfile occur. Whether compilation options
affect it I do not know. I can reproduce it in 5.6.2, 5.8.[123456]
(non-threaded) and 5.11.3 (both threaded and non-threaded), but not
5.8.[789] or 5.10.[01] (threaded).

8 years agoperldelta for bug #70615 + tweaks
Father Chrysostomos [Thu, 23 Sep 2010 08:01:20 +0000 (01:01 -0700)] 
perldelta for bug #70615 + tweaks

8 years agoFix code-before-declaration problem in universal.c
Steve Hay [Thu, 23 Sep 2010 07:28:32 +0000 (08:28 +0100)] 
Fix code-before-declaration problem in universal.c

8 years ago[perl #70614] Seg. fault with eval/use/UNITCHECK/DESTROY/eval combination
Father Chrysostomos [Thu, 23 Sep 2010 06:47:11 +0000 (23:47 -0700)] 
[perl #70614] Seg. fault with eval/use/UNITCHECK/DESTROY/eval combination

This case can be reduced to:
eval "UNITCHECK{ eval 0 }"

(eval 0 triggers the bug more reliably than eval ''.)

The inner eval clobbers PL_eval_start, so when the UNITCHECK finishes,
the outer eval tries to call the inner eval’s code, which has been
freed already.

This commit saves PL_eval_start and restores it after UNITCHECK.

8 years agoRemove unneeded 'use' from ext/XS-APItest/t/peep.t Devel::Peek is not used by ext...
Jerry D. Hedden [Wed, 22 Sep 2010 20:36:14 +0000 (16:36 -0400)] 
Remove unneeded 'use' from ext/XS-APItest/t/peep.t Devel::Peek is not used by ext/XS-APItest/t/peep.t, so remove it from the test code.

8 years agoregcomp.c: Convert some things to use cBOOL()
Karl Williamson [Tue, 21 Sep 2010 21:09:12 +0000 (15:09 -0600)] 
regcomp.c: Convert some things to use cBOOL()

8 years agore.pm: Change comment to use new (?^...)
Karl Williamson [Tue, 21 Sep 2010 01:16:24 +0000 (19:16 -0600)] 
re.pm: Change comment to use new (?^...)

8 years agoAdd /d, /l, /u (infixed) regex modifiers
Karl Williamson [Tue, 21 Sep 2010 00:57:24 +0000 (18:57 -0600)] 
Add /d, /l, /u (infixed) regex modifiers

This patch adds recognition of these modifiers, with appropriate action
for d and l.  u does nothing useful yet.  This allows for the
interpolation of a regex into another one without losing the character
set semantics that it was compiled with, as for the first time, the
semantics is now specified in the stringification as one of these
modifiers.

To this end, it allocates an unused bit in the structures.  The off-
sets change so as to not disturb other bits.

8 years agoChange .t to use new (?^...)
Karl Williamson [Tue, 21 Sep 2010 00:31:00 +0000 (18:31 -0600)] 
Change .t to use new (?^...)

There is a line in this .t which uses the old regex stringification.
The contents are not currently tested for, but for cleanliness, change
to the new.

8 years agoChange comments, documentation for new (?^...)
Karl Williamson [Tue, 21 Sep 2010 00:29:59 +0000 (18:29 -0600)] 
Change comments, documentation for new (?^...)

I overlooked these earlier in adding the caret notation.

8 years agoChange to use mnemonic instead of char constant
Karl Williamson [Tue, 21 Sep 2010 00:26:33 +0000 (18:26 -0600)] 
Change to use mnemonic instead of char constant

The new '^' in (?^...) should really be a macro.

8 years agohandy.h: isASCII() extend to work on > 8 bit values
Karl Williamson [Sun, 19 Sep 2010 18:29:02 +0000 (12:29 -0600)] 
handy.h: isASCII() extend to work on > 8 bit values

Prior to this patch, if isASCII() is called with something like '256',
it would return true.

For some reason unknown to me, U64 is defined only inside the perl core.
However, the equivalent U64TYPE is known everywhere, so in the macro
that can be called outside of core, use that instead.

The commit log doesn't give a reason for not defining U64 outside of
core, and no tests in the suite fail when it is defined outside core.
But out of caution, I'm just doing this workaround instead of exposing
U64.

8 years agohandy.h: Don't use isascii() as not in all libc's
Karl Williamson [Sun, 19 Sep 2010 17:57:04 +0000 (11:57 -0600)] 
handy.h: Don't use isascii() as not in all libc's

EBCDIC platforms use isascii(), but is not in all libc's so better to
use our own.