14 years agodoc 23ae7f
Matt S Trout [Wed, 16 Jun 2010 23:31:07 +0000]
doc 23ae7f

14 years agoLOGONLY mark ALREADY the last package block commit
Matt S Trout [Wed, 16 Jun 2010 23:28:37 +0000]
LOGONLY mark ALREADY the last package block commit

14 years agoadd commit ids to Zefram's docs for package block
Matt S Trout [Wed, 16 Jun 2010 23:27:47 +0000]
add commit ids to Zefram's docs for package block

14 years agoLOGONLY mark Zefram's package {} stuff as already doc'ed (cheers Zef)
Matt S Trout [Wed, 16 Jun 2010 23:24:24 +0000]
LOGONLY mark Zefram's package {} stuff as already doc'ed (cheers Zef)

14 years agoLOGONLY mark 78b7eff 4cf5ea b1faab 39f3f7 doc'ed as perf enchancements
Matt S Trout [Wed, 16 Jun 2010 23:22:51 +0000]
LOGONLY mark 78b7eff 4cf5ea b1faab 39f3f7 doc'ed as perf enchancements

14 years agodoc 78b7eff 4cf5ea b1faab 39f3f7 as perf enchancements
Matt S Trout [Wed, 16 Jun 2010 23:22:03 +0000]
doc 78b7eff 4cf5ea b1faab 39f3f7 as perf enchancements

14 years agoLOGONLY - mark SvIVX/SVt_REGEXP DOCed (verify - do we care?)
Matt S Trout [Wed, 16 Jun 2010 23:08:14 +0000]
LOGONLY - mark SvIVX/SVt_REGEXP DOCed (verify - do we care?)

14 years agoDocument e77da3
Matt S Trout [Wed, 16 Jun 2010 23:07:08 +0000]
Document e77da3

14 years agoLOGONLY - NODOC Nicholas' macro change (65ac17) (verify needed)
Matt S Trout [Wed, 16 Jun 2010 23:04:18 +0000]
LOGONLY - NODOC Nicholas' macro change (65ac17) (verify needed)

14 years agoLOGONLY - NODOC for rjbs' email change (ef01b67)
Matt S Trout [Wed, 16 Jun 2010 23:03:30 +0000]
LOGONLY - NODOC for rjbs' email change (ef01b67)

14 years agoLOGONLY annotated log from v5.13.1 tag - will rebase this away on merge
Matt S Trout [Wed, 16 Jun 2010 23:00:19 +0000]
LOGONLY annotated log from v5.13.1 tag - will rebase this away on merge

14 years agoDocument faee19
Matt S Trout [Wed, 16 Jun 2010 22:58:40 +0000]
Document faee19

14 years agodocument missing space after regex pattern in perldelta
David Golden [Fri, 18 Jun 2010 22:57:51 +0000]
document missing space after regex pattern in perldelta

14 years agoDeprecate no space between pattern, following word
Karl Williamson [Wed, 9 Jun 2010 20:40:14 +0000]
Deprecate no space between pattern, following word

This patch raises a deprecated warning on constructs like
    $result = $a =~ m/$foo/sand $bar;
which means
    $result = $a =~ m/$foo/s and $bar;

14 years agoFix list of constants to import to make this test pass
Rafael Garcia-Suarez [Fri, 18 Jun 2010 07:30:14 +0000]
Fix list of constants to import to make this test pass

14 years ago* FAQ sync
brian d foy [Thu, 17 Jun 2010 20:41:05 +0000]
* FAQ sync

This is commit 37550b8f812e591bcd0dd869d61677dac5bda92c from the
perlfaq repository at git@github.com:briandfoy/perlfaq.git

14 years agoAvoid warnings with undefined hash values [perl #74280]
Rafael Garcia-Suarez [Thu, 17 Jun 2010 12:19:03 +0000]
Avoid warnings with undefined hash values [perl #74280]

14 years agoDeparse correctly "no VERSION" [perl #75482]
Rafael Garcia-Suarez [Thu, 17 Jun 2010 09:40:36 +0000]
Deparse correctly "no VERSION" [perl #75482]

14 years agoAvoid compiler warnings in Perl_foldEQ_utf8, spotted by Jerry D. Hedden.
Nicholas Clark [Thu, 17 Jun 2010 16:54:25 +0000]
Avoid compiler warnings in Perl_foldEQ_utf8, spotted by Jerry D. Hedden.

14 years agoAvoid creating @EXPORT_FAIL in every package using Exporter.
Nicholas Clark [Thu, 17 Jun 2010 14:21:24 +0000]
Avoid creating @EXPORT_FAIL in every package using Exporter.

Previously, if package INKLE_KLINK is an Exporter, then the Exporter code's
symbolic lookup of \@{"INKLE_KLINK::EXPORT_FAIL"} would cause both that array
and the enclosing typeglob to be instantiated. Now the typeglob and array are
only created if present. (Strictly, if there's something in INKLE_KLINK's
symbol table for EXPORT_FAIL. But likely that will only ever be the array.)

This saves about 200 bytes per package that uses Exporter but does not need an
@EXPORT_FAIL.

14 years agoPERL_IMPLICIT_SYS also needs thread context for safesysfree()
Nicholas Clark [Thu, 17 Jun 2010 09:46:37 +0000]
PERL_IMPLICIT_SYS also needs thread context for safesysfree()

PERL_TRACK_MEMPOOL needs it to work without -DDEBUGGING.

Fixes for 0cb20dae370512c6 not addressed by 1f4d2d4e2e4bb7bb.

14 years agoStop using WITH_THR and WITH_THX, as they were never necessary here.
Nicholas Clark [Wed, 16 Jun 2010 19:47:22 +0000]
Stop using WITH_THR and WITH_THX, as they were never necessary here.

14 years agoPERL_IMPLICIT_SYS also needs thread context for the *alloc success paths.
Nicholas Clark [Wed, 16 Jun 2010 08:56:59 +0000]
PERL_IMPLICIT_SYS also needs thread context for the *alloc success paths.

0cb20dae370512c6 was a bit to aggressive in its deferral of dTHX.

14 years agoIn Perl_safesys{c,m,re}alloc(), defer dTHX for non-DEBUGING builds.
Nicholas Clark [Tue, 15 Jun 2010 20:26:14 +0000]
In Perl_safesys{c,m,re}alloc(), defer dTHX for non-DEBUGING builds.

Under ithreads, dTHX expands to pthread_getspecific() [or something similarly
expensive], which the compiler can't optimise away. However, its return value
isn't needed unless the allocation fails. So defer the call, hence avoiding
it entirely on a successful allocation.

DEBUGING builds require the value of dTHX for debugging purposes, so we can't
postpone it for them. Unthreaded builds were never affected as they don't use
thread local storage for the interpreter context.

14 years agoAttempt at improving the perlipc docs
Maik Hentsche [Tue, 15 Jun 2010 15:19:41 +0000]
Attempt at improving the perlipc docs

14 years agoRevert "It may not be obvious to a new Perl programmer that $#ary is explained in...
Rafael Garcia-Suarez [Tue, 15 Jun 2010 12:48:34 +0000]
Revert "It may not be obvious to a new Perl programmer that $#ary is explained in perldata.pod (see stackoverflow.com/questions/2997042/ )."

This reverts commit db2ed3fb308b082577e9315ba52b2cb266a2bd0a.

14 years agouc(): Handle Greek YPOGEGRAMMENI
Karl Williamson [Wed, 2 Jun 2010 21:07:29 +0000]
uc(): Handle Greek YPOGEGRAMMENI

Unicode contains two context-sensitive case-changing rules.  This patch
enables one of them, dealing with the Greek YPOGEGRAMMENI.  The code had
been #ifdef'd out, so the changes here are more than what the diff
shows.  The reason it was #ifdef'd out was because more research was
needed to verify that it was correct, which I have now done, and think
it is.

The issue is we may just be uppercasing a portion of the context, so
don't have complete knowledge of what should be done.  This patch causes
us to move the ypogegrammeni to as far right as it should go, or to the
end of the context we know about, whichever comes first.  That's the
best we can do.  If it really should be moved further to the right,
there's no way we can do it, because the user has not called uc()
with the full information needed.  So, in all cases, this is better than
just leaving it where it was in the input.  Also, the applicable context
is limited to a logical character, that matched by /\X/, so if the user
is calling uc() on a subset of a logical character, it really is their
mistake.

14 years agot/uni/case.pl: allow extra tests of different form
Karl Williamson [Wed, 2 Jun 2010 21:04:16 +0000]
t/uni/case.pl: allow extra tests of different form

Add an option to case.pl so that the callers can run extra tests that
don't fit in with it's format.  They just pass the number run to it, and
it adjusts the plan accordingly.

14 years agoAdd support for more TCP_ constants to Socket
Salvador Fandino [Tue, 15 Jun 2010 09:31:04 +0000]
Add support for more TCP_ constants to Socket

(plus bump version to 1.89)

14 years agoRemove debugging statement from mktables.
Karl Williamson [Mon, 31 May 2010 03:34:53 +0000]
Remove debugging statement from mktables.

A debugging statement was inadvertently left in which causes an
extraneous warning.

14 years agoIt may not be obvious to a new Perl programmer that $#ary is explained in perldata...
Sinan Unur [Tue, 8 Jun 2010 22:53:27 +0000]
It may not be obvious to a new Perl programmer that $#ary is explained in perldata.pod (see stackoverflow.com/questions/2997042/ ).

A possible solution is to place an entry in perlvar.pod pointing out
that $# was removed and pointing the user to perldata.pod for the
explanation of $#ary usage.

14 years agousemymalloc slows down newer openbsd [perl #75742]
Rafael Garcia-Suarez [Tue, 15 Jun 2010 08:16:35 +0000]
usemymalloc slows down newer openbsd [perl #75742]

14 years agoRename copyright section of Module::CoreList to LICENSE, fixes for my kwalitee score.
Chris 'BinGOs' Williams [Mon, 14 Jun 2010 09:07:27 +0000]
Rename copyright section of Module::CoreList to LICENSE, fixes for my kwalitee score.

14 years agoUpdate CPAN.pm to 1.94_57
Andreas J. Koenig [Mon, 14 Jun 2010 08:46:15 +0000]
Update CPAN.pm to 1.94_57

  2010-05-24  Andreas J. Koenig  <andk@cpan.org>

        * release 1.94_57

        * bugfix: treat modules correctly that are deprecated in perl 5.12.

        * bugfix: RT #57482 and #57788 revealed that configure_requires
        implicitly assumed build_requires instead of normal requires. (Reported
        by Andrew Whatson and Father Chrysostomos respectively)

        * testfix: solaris should run the tests without expect because (some?)
        solaris have a broken expect

        * testfix: run tests with cache_metadata off to prevent spill over
        effects from previous test runs

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>

14 years agoNote why pp_tie can't use call_method() for a package name.
Nicholas Clark [Mon, 14 Jun 2010 07:44:49 +0000]
Note why pp_tie can't use call_method() for a package name.

Plus a test that would fail if it did.

14 years agoMerge flags and argc parameters to S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 14:25:53 +0000]
Merge flags and argc parameters to S_tied_handle_method().

This generates slightly smaller object code overall, which means that the "hot"
code (the non-overloaded paths through the ops) will be smaller, and hence more
likely to stay in the CPU cache.

14 years agoIn S_tied_handle_method() default to mortalizing extra arguments.
Nicholas Clark [Sun, 13 Jun 2010 13:02:14 +0000]
In S_tied_handle_method() default to mortalizing extra arguments.

Convert the gimme argument to a flags argument, and add a flag bit to signal
that mortalization is not required. Only "BINMODE" needs this.

14 years agoAdd a gimme parameter to S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 10:38:16 +0000]
Add a gimme parameter to S_tied_handle_method().

This allows "GETC" to use it.

14 years agoChange S_tied_handle_method() to varargs to allow extra SV parameters.
Nicholas Clark [Sun, 13 Jun 2010 10:12:43 +0000]
Change S_tied_handle_method() to varargs to allow extra SV parameters.

This enables "BINMODE", "EOF" and "SYSSEEK" to use it.

14 years agoMerge simple tied handle method calls into S_tied_handle_method().
Nicholas Clark [Sun, 13 Jun 2010 08:34:56 +0000]
Merge simple tied handle method calls into S_tied_handle_method().

14 years agoFor tied file handle calls, use PUSH* when we know that the stack has space.
Nicholas Clark [Sat, 12 Jun 2010 20:29:03 +0000]
For tied file handle calls, use PUSH* when we know that the stack has space.

Previously the code was using XPUSH* in many cases, often to push back values
recently popped off the stack.

14 years agoRemove unecessary EXTEND()s from pp_sys.c
Nicholas Clark [Sat, 12 Jun 2010 18:51:19 +0000]
Remove unecessary EXTEND()s from pp_sys.c

If we've just POP*ed something from the stack, it will already have space.
If we conditionally POP* something from the stack, avoid the EXTEND() in that
path. Also, use PUSH() rather than XPUSH() where we know that the stack is large
enough. Changes to pp_close, pp_binmode, pp_enterwrite, pp_readlink and pp_alarm.

14 years agoIn pp_eof, ensure stack space for the second argument to the tied EOF method.
Nicholas Clark [Sun, 13 Jun 2010 07:50:00 +0000]
In pp_eof, ensure stack space for the second argument to the tied EOF method.

Commit 32e653230c7ccc7f added this second argument, but didn't verify that the
stack always had sufficient space for it.

14 years agoremove trailing spaces in perlvar.pod
David Golden [Wed, 9 Jun 2010 18:53:15 +0000]
remove trailing spaces in perlvar.pod

14 years agoLink to perlport/PLATFORMS from the $^O docs
Ævar Arnfjörð Bjarmason [Thu, 13 May 2010 22:02:25 +0000]
Link to perlport/PLATFORMS from the $^O docs

I was looking for some actual values of $^O the other day and started
ack-ing t/. Turns out that this was documented in perlport. Link to
the relevant section to make it easy to find.

14 years agoFix edge case in pp_eof where the stack extent was not checked.
Nicholas Clark [Sat, 12 Jun 2010 20:13:14 +0000]
Fix edge case in pp_eof where the stack extent was not checked.

Analogous to pp_getc and pp_tell in ac3697cd90b00fae, pp_eof has a conditional
POP from the stack, but an unconditional PUSH to the stack, but no check that
the stack had space for the PUSH. This bug has been present since perl 5.000.

14 years agoFix edge cases in pp_getc and pp_tell where the stack extent was not checked.
Nicholas Clark [Sat, 12 Jun 2010 19:43:37 +0000]
Fix edge cases in pp_getc and pp_tell where the stack extent was not checked.

Both conditionally POP a GV from the stack, but always PUSH a return value to
it. For the case where they did not POP the GV, they made no check that the
stack had space for the PUSH. This bug has been present since perl 5.000.

14 years agoBetter diagnostics on detecting case sensitive file name clashes.
Nicholas Clark [Sat, 12 Jun 2010 18:05:51 +0000]
Better diagnostics on detecting case sensitive file name clashes.

14 years agoAdded new files I forgot to add for the Thread-Semaphore update
Chris 'BinGOs' Williams [Fri, 11 Jun 2010 06:59:48 +0000]
Added new files I forgot to add for the Thread-Semaphore update

14 years ago[PATCH-revised] Upgrade to Thread-Semaphore 2.11
Jerry D. Hedden [Fri, 11 Jun 2010 06:57:34 +0000]
[PATCH-revised] Upgrade to Thread-Semaphore 2.11

  Added new methods ->down_nb() and ->down_force() at the suggestion of
  Rick Garlick.

  Refactored methods to skip argument validation when no argument is supplied.

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>

14 years agoParameters for * in *printf must be int - add a cast to ensure this.
Nicholas Clark [Thu, 10 Jun 2010 08:01:18 +0000]
Parameters for * in *printf must be int - add a cast to ensure this.

Fixes a (legitimate) compiler warning present since 6e1bad6cc227c8e8.

14 years agoReorder CVf_* flags to be numerically contiguous again.
Nicholas Clark [Wed, 9 Jun 2010 18:53:20 +0000]
Reorder CVf_* flags to be numerically contiguous again.

The removal of CVf_ASSERTION in 584420f022db5722 and CVf_LOCKED in
e95ab0c0d2aa1b35 left two gaps in the sequence of bits in use.

14 years agoadded Chas. Owens to AUTHORS
David Golden [Wed, 9 Jun 2010 15:47:41 +0000]
added Chas. Owens to AUTHORS

14 years agoDocument $# and $* as removed
Chas. Owens [Wed, 9 Jun 2010 15:43:46 +0000]
Document $# and $* as removed

See email thread for reference:

http://www.nntp.perl.org/group/perl.perl5.porters/2010/06/msg160812.html

14 years agoResolve issue #74974: document File::Copy::copy(FILE, DIR)
Abigail [Tue, 8 Jun 2010 14:35:52 +0000]
Resolve issue #74974: document File::Copy::copy(FILE, DIR)

14 years agoFix long-standing typos in Policy_sh.SH
H.Merijn Brand [Tue, 8 Jun 2010 13:50:05 +0000]
Fix long-standing typos in Policy_sh.SH

This patch fixes several long-standing typos and naming confusions in
Policy_sh.SH, standardizing on the variable names used in config.sh.
This will change the behavior of Policy.sh if you happen to have been
accidentally relying on the Policy.sh incorrect behavior.  I'd appreciate
feedback from anyone using Policy.sh to be sure nothing is broken by
this change.  Thanks to Stoned Elipot for pointing this out.

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>

14 years agoperlbug: always allow change of sender address
David Mitchell [Mon, 7 Jun 2010 23:08:19 +0000]
perlbug: always allow change of sender address

The code that guessed a default sender address would under some
circumstances not display this guess to the user with the option to change
it. Specifically, if $Config{cf_me} eq {login id of the user running
perlbug}.

In my case, cf_email got set at build time (Configure default) of
'davem@pigeon.(none)', which was then silently used. Not good!

14 years agoperlbug -d,-v: fix uninit value warnings
David Mitchell [Mon, 7 Jun 2010 22:28:26 +0000]
perlbug -d,-v: fix uninit value warnings

14 years agodocument revert of 'local $tied' change
David Mitchell [Mon, 7 Jun 2010 21:18:35 +0000]
document revert of 'local $tied' change

14 years agoRevert "make 'local $tied' untied"
David Mitchell [Mon, 7 Jun 2010 21:11:42 +0000]
Revert "make 'local $tied' untied"

This reverts commit 191ad7eff570fc96c93993e4358f83e2033365d6.

Some modules (e.g. File::chdir) relied on the current behaviour of
local $tied_scalar, so lets leave things as-is for now. See

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2010-05/msg00627.html

14 years agoPATCH: Bump Locale-Codes from 3.12 to 3.13
Sullivan Beck [Mon, 7 Jun 2010 20:58:34 +0000]
PATCH: Bump Locale-Codes from 3.12 to 3.13

  Attached is a patch to upgrade the Locale-Codes distribution (containing
  the core modules Locale::Country, Locale::Language, and
  Locale::Currency) to the most recent version.

  ====
  Background:

  The core modules Locale::Country, Locale::Language, and Locale::Currency
  (all part of the Locale-Codes distribution) should be updated on a
  regular basis. They contain "codes" from various internet standards
  which change over time.

  I plan on releasing new versions twice a year to keep the codes
  up-to-date. At this point, I'm not planning on any significant code
  changes (other than bug fixes), so the only significant changes
  between releases should be to update the codes.

14 years agoidentify a few vars in intrpvar.h
David Mitchell [Mon, 7 Jun 2010 17:23:43 +0000]
identify a few vars in intrpvar.h

14 years agoregexec.c: change names of two vars for clarity
Karl Williamson [Sun, 6 Jun 2010 14:50:24 +0000]
regexec.c: change names of two vars for clarity

do_utf8 is changed to utf8_target
UTF is changed to UTF_PATTERN

This will help me keep track of the fact that there are four possible
combinations of these, and that ! do_utf8 doesn't necessarily mean don't
do utf8.

14 years agoRemove -w recommendation in perl -h
David Golden [Mon, 7 Jun 2010 11:07:10 +0000]
Remove -w recommendation in perl -h

Abigail already said it best:

  I do not think 'perl -h' is the place to give recommendations on how
  code should be written. 'perl -h' gives a list and a brief explanation
  of the command line switches. IMO, it should do just that, and nothing
  else.

14 years agoSpell-check fixes in ext
H.Merijn Brand [Mon, 7 Jun 2010 10:19:32 +0000]
Spell-check fixes in ext

14 years agoSpell-check fixes in lib
H.Merijn Brand [Mon, 7 Jun 2010 10:17:22 +0000]
Spell-check fixes in lib

14 years agoSpell check fixes in CPAN
H.Merijn Brand [Mon, 7 Jun 2010 10:17:09 +0000]
Spell check fixes in CPAN

already fixed upstream

14 years agoglob crashes when %File::Glob:: is empty
Father Chrysostomos [Mon, 7 Jun 2010 10:07:11 +0000]
glob crashes when %File::Glob:: is empty

In 5.6.2, a failure to find a CORE::GLOBAL::glob after loading
File::Glob would result in a fallback to external glob via pp_glob.
Now it crashes.

The attached patch should fix this.

14 years agoperlhack: Add reference to TAP for test protocol
Karl Williamson [Wed, 2 Jun 2010 18:33:56 +0000]
perlhack: Add reference to TAP for test protocol

14 years agoperlhack: fix formatting issues
Karl Williamson [Wed, 2 Jun 2010 18:32:19 +0000]
perlhack: fix formatting issues

Change some lines so won't overflow 80 column width; make a link.

14 years agoPATCH: uniprops.t take advantage of EBCDIC test.pl
Karl Williamson [Sun, 30 May 2010 20:11:52 +0000]
PATCH: uniprops.t take advantage of EBCDIC test.pl

This patch removes the partial solution to testing on EBCDIC platforms
that was in uniprops.t (generated by mktables), and replaces it with the
simple complete solution now in test.pl

14 years agoreduce size of regmatch_state.u.curlyx by 2 words
David Mitchell [Sun, 6 Jun 2010 20:09:22 +0000]
reduce size of regmatch_state.u.curlyx by 2 words

14 years agomicro-optimise a bit of trie code
David Mitchell [Sun, 6 Jun 2010 17:48:49 +0000]
micro-optimise a bit of trie code

14 years agoTest the return value of push and unshift.
Nicholas Clark [Sun, 6 Jun 2010 09:50:56 +0000]
Test the return value of push and unshift.

14 years agoConvert tiearray.t to test.pl.
Nicholas Clark [Sun, 6 Jun 2010 09:46:16 +0000]
Convert tiearray.t to test.pl.

14 years agoChange regexec.c to use new foldEQ functions
Karl Williamson [Sat, 5 Jun 2010 17:25:58 +0000]
Change regexec.c to use new foldEQ functions

14 years agoChange name of ibcmp to foldEQ
Karl Williamson [Sat, 5 Jun 2010 17:12:47 +0000]
Change name of ibcmp to foldEQ

As discussed on p5p, ibcmp has different semantics from other cmp
functions in that it is a binary instead of ternary function.  It is
less confusing then to have a name that implies true/false.

There are three functions affected: ibcmp, ibcmp_locale and ibcmp_utf8.
ibcmp is actually equivalent to foldNE, but for the same reason that things
like 'unless' and 'until' are cautioned against, I changed the functions
to foldEQ, so that the existing names, like ibcmp_utf8 are defined as
macros as being the complement of foldEQ.

This patch also changes the one file where turning ibcmp into a macro
causes problems.  It changes it to use the new name.  It also documents
for the first time ibcmp, ibcmp_locale and their new names.

14 years agoutf8.c: further doc tweaks
Karl Williamson [Sat, 5 Jun 2010 17:08:25 +0000]
utf8.c: further doc tweaks

14 years agoutf8.c: Modify doc comment; change whitespace
Karl Williamson [Fri, 4 Jun 2010 18:04:45 +0000]
utf8.c: Modify doc comment; change whitespace

This removes the comment about the function name, and converts tabs to
blanks throughout the function, as so much of it is changing already.

It also removes trailing whitespace in other lines of the file.

14 years agoRevamp ibcmp_utf8 for performance and clarity
Karl Williamson [Tue, 25 May 2010 17:18:42 +0000]
Revamp ibcmp_utf8 for performance and clarity

I had a hard time understanding how this routine worked; there were no
comments.  In figuring it out, I discovered it could be made more
efficient.  This routine is called over and over in the innermost loops
in regex matching, so efficiency is a concern.

Setup is done once before the main while loop so that it now has two
conditions instead of eight.  The loop was rearranged slightly to be
smaller and a couple of unneeded assignments to temporaries were
removed, and recomputation of some values was avoided.  Several other
small efficiency changes were made.

Several asserts had been commented out, saying that they make tests
fail.  But they no longer do, at least on my platform.  There was a
reason that they were asserts to begin with, and that is they denoted an
insane or trivial condition.  Apparently there have been fixes to the
other code calling this, so I re-enabled them.

The names of several variables were changed to be less confusing; hence
f1 means the fold buffer for string 1 whereas it used to mean its goal,
which is now g1.

The leading indent was changed from 5 to 4 blanks.  I made enough
other changes that I didn't submit this as a separate commit

14 years agoClarify some documentation
Karl Williamson [Tue, 25 May 2010 17:17:22 +0000]
Clarify some documentation

14 years agosilence some warnings in hv.c
David Mitchell [Sat, 5 Jun 2010 12:44:04 +0000]
silence some warnings in hv.c

Since de0a224a057997a65d38856f1981702fca5d7c18, xhv_keys and xhv_max
are the same type, so no casting needed

14 years agoadd handy note on vtable fields
David Mitchell [Sat, 5 Jun 2010 12:12:11 +0000]
add handy note on vtable fields

14 years agoupdate Perl_magic_methcall description
David Mitchell [Sat, 5 Jun 2010 11:46:09 +0000]
update Perl_magic_methcall description

it's now a varargs function

14 years agofix for RT #8438: $tied->() doesn't call FETCH
David Mitchell [Fri, 4 Jun 2010 22:09:21 +0000]
fix for RT #8438: $tied->() doesn't call FETCH

pp_entersub checked for ROK *before* calling magic. If the tied scalar
already had ROK set (perhaps from a previous time), then get magic (and
hence FETCH) wasn't called.

14 years agoAvoid overflow warning in chop.t.
Craig A. Berry [Fri, 4 Jun 2010 03:17:39 +0000]
Avoid overflow warning in chop.t.

It overflows at compile time on 32-bit architectures, so the skip
isn't enough.

14 years agofix indendation of DM_* flag definitions
David Mitchell [Fri, 4 Jun 2010 20:30:18 +0000]
fix indendation of DM_* flag definitions

14 years agoexpress DM_[GU]ID flags in terms of components
David Mitchell [Fri, 4 Jun 2010 20:28:20 +0000]
express DM_[GU]ID flags in terms of components

14 years agorename DM_ARRAY flag to DM_ARRAY_ISA
David Mitchell [Fri, 4 Jun 2010 20:25:07 +0000]
rename DM_ARRAY flag to DM_ARRAY_ISA

This better represents its current role as specifically delaying magic on
@ISA as opposed to a general array magic delay mechanism.

14 years agobelatedly add a test for RT #51636:
David Mitchell [Fri, 4 Jun 2010 20:16:48 +0000]
belatedly add a test for RT #51636:

segmentation fault with array ties

14 years agoRevert "Re: [perl #51636] segmentation fault with array ties"
David Mitchell [Fri, 4 Jun 2010 20:01:43 +0000]
Revert "Re: [perl #51636] segmentation fault with array ties"

This reverts commit 90630e3c741716305d7f1da4df5eab5c1bee42cc.

This fix turns out to be wrong, and also made ($<,$>)=(...) fail
(RT #75212).

The original problem was a SEGV in av_clear(). This was mis-diagnosed
as recursive PL_delaymagic issue, and the fix was to temprarily reset
PL_delaymagic to zero. This stopped the mg_set() of $> and $> being
delayed.

The real problem was that mg_free wasn't clearing the [GSR]MG flags
after freeing xmg_magic. This was independently fixed by commit
68f8932eb570af656553ed44c11a23f0a216a3ec.

14 years agothreads::shared: veto signal despatch if locked
David Mitchell [Fri, 4 Jun 2010 16:05:21 +0000]
threads::shared: veto signal despatch if locked

This fixes RT #74868: Safe signals changes causing hangs with threads.

The basic issue is that due to changes in where safe signals can be
despatched, (including now on leaving scope), it's possible for a
perl-level signal handler to be called while PL_sharedsv_lock is held.
If the handler does locking or manipulation of shared vars, then deadlock
can occur.

A robust fix for this is to ensure that the signal handler isn't called
while we have the lock. This is done using the signal handler hook added
in the previous commit.

14 years agoadd PL_signalhook to hook into signal dispatch
David Mitchell [Fri, 4 Jun 2010 15:18:05 +0000]
add PL_signalhook to hook into signal dispatch

This is initially intended for threads::shared and shouldn't (yet)
be considered part of the public API.

14 years agoDo not advertise Math::TrulyRandom, which hasn't been updated since 1996
Rafael Garcia-Suarez [Thu, 3 Jun 2010 14:11:26 +0000]
Do not advertise Math::TrulyRandom, which hasn't been updated since 1996

(Spotted by Giel Goudsmit)

14 years agoRemove extraneous semicolon from OP_PRIVATE_ONCE.
Craig A. Berry [Thu, 3 Jun 2010 12:44:17 +0000]
Remove extraneous semicolon from OP_PRIVATE_ONCE.

Thus silencing compiler noise like:

OP_PRIVATE_ONCE(op_aassign, OPpASSIGN_COMMON, ",COMMON");
........................................................^
%CC-I-EXTRASEMI, Extraneous semicolon.
at line number 846 in file D0:[craig.blead]dump.c;1

14 years agoDeprecate find_rundefsvoffset()
Vincent Pit [Thu, 3 Jun 2010 10:08:14 +0000]
Deprecate find_rundefsvoffset()

14 years agoThe UNDERBAR macro should use find_rundefsv() as well
Vincent Pit [Thu, 3 Jun 2010 09:55:20 +0000]
The UNDERBAR macro should use find_rundefsv() as well

14 years agoMake pp_reverse fetch the lexical $_ from the correct pad
Vincent Pit [Thu, 3 Jun 2010 09:44:15 +0000]
Make pp_reverse fetch the lexical $_ from the correct pad

This is achieved by introducing a new find_rundefsv() function in pad.c

This fixes [perl #75436].

14 years agoSkip two Japhs that use the fact that split in void context splitted
Abigail [Tue, 1 Jun 2010 16:27:43 +0000]
Skip two Japhs that use the fact that split in void context splitted
to @_. This is no longer true in 5.12.0 and upwards.

14 years agoDocument IO::Socket getsockopt and setsockopt
Slaven Rezic [Thu, 29 Apr 2010 14:04:35 +0000]
Document IO::Socket getsockopt and setsockopt

get/setsockopt are not explicitly documented. Note that the documented
sockopt() method is a wrapper around get/setsockopt, but does not cover
all cases because of the hardcoded level (= SOL_SOCKET).