platform/upstream/perl.git
13 years agoperldiag: reflow an entry
Father Chrysostomos [Mon, 14 Feb 2011 07:23:20 +0000 (23:23 -0800)]
perldiag: reflow an entry

13 years agoperldiag: Move the \p{} entry
Father Chrysostomos [Mon, 14 Feb 2011 07:10:59 +0000 (23:10 -0800)]
perldiag: Move the \p{} entry

13 years agoperldiag: sort some entries
Father Chrysostomos [Mon, 14 Feb 2011 07:02:21 +0000 (23:02 -0800)]
perldiag: sort some entries

13 years agoperldiag: missing article
Father Chrysostomos [Mon, 14 Feb 2011 07:02:01 +0000 (23:02 -0800)]
perldiag: missing article

13 years agoperldiag: remove repeated reference
Father Chrysostomos [Mon, 14 Feb 2011 06:58:09 +0000 (22:58 -0800)]
perldiag: remove repeated reference

13 years agoperldiag: reflow ‘Number with no digits’
Father Chrysostomos [Mon, 14 Feb 2011 06:57:31 +0000 (22:57 -0800)]
perldiag: reflow ‘Number with no digits’

13 years agoperldiag: missing dot
Father Chrysostomos [Mon, 14 Feb 2011 06:52:48 +0000 (22:52 -0800)]
perldiag: missing dot

13 years agoperldiag: reflow ‘Non-octal character’
Father Chrysostomos [Mon, 14 Feb 2011 06:50:43 +0000 (22:50 -0800)]
perldiag: reflow ‘Non-octal character’

13 years agoperldiag: reflow; missing dot
Father Chrysostomos [Mon, 14 Feb 2011 06:15:47 +0000 (22:15 -0800)]
perldiag: reflow; missing dot

13 years agoperldiag: punctuation and formatting
Father Chrysostomos [Mon, 14 Feb 2011 06:14:30 +0000 (22:14 -0800)]
perldiag: punctuation and formatting

13 years agoperldiag: reflow ‘Invalid hexadecimal number’
Father Chrysostomos [Mon, 14 Feb 2011 06:06:49 +0000 (22:06 -0800)]
perldiag: reflow ‘Invalid hexadecimal number’

13 years agoperldiag: resort some entries
Father Chrysostomos [Mon, 14 Feb 2011 06:04:56 +0000 (22:04 -0800)]
perldiag: resort some entries

13 years agoperldiag: missing hyphen
Father Chrysostomos [Mon, 14 Feb 2011 06:03:31 +0000 (22:03 -0800)]
perldiag: missing hyphen

13 years agoperldiag: reflow a couple of entries
Father Chrysostomos [Mon, 14 Feb 2011 06:02:00 +0000 (22:02 -0800)]
perldiag: reflow a couple of entries

13 years agoperldiag: Make two entries for my/state and pkgs
Father Chrysostomos [Mon, 14 Feb 2011 05:59:28 +0000 (21:59 -0800)]
perldiag: Make two entries for my/state and pkgs

Not only was it not put in alphabetical order when "my" was changed to
"%s" on the introduction of state variables, but it’s easier to find
them if there are two entries.

13 years agoperldiag: retitle Ambiguous use of %c{%s%s}
Father Chrysostomos [Mon, 14 Feb 2011 05:56:52 +0000 (21:56 -0800)]
perldiag: retitle Ambiguous use of %c{%s%s}

This is not very helpful:

=item Ambiguous use of %c{%s%s} resolved to %c%s%s

especially since it is functionally identical to the previous entry:

=item Ambiguous use of %c{%s} resolved to %c%s

Not only can diagnostics.pm never find it, but it is hard for human
beings to understand what the different is at first glance, too.

So filling in the second and fourth %s’s with the two possible values
slays a twain of avians with one piece of petrified matter.

13 years agoperldiag: reflow ‘Missing right brace on \N{}’
Father Chrysostomos [Mon, 14 Feb 2011 05:37:48 +0000 (21:37 -0800)]
perldiag: reflow ‘Missing right brace on \N{}’

for ‘use diagnostics’ output on eighty-column terminals

13 years agoperldiag: reflow ‘Missing braces on \N{}’ for 80 cols.
Father Chrysostomos [Mon, 14 Feb 2011 02:46:53 +0000 (18:46 -0800)]
perldiag: reflow ‘Missing braces on \N{}’ for 80 cols.

13 years agoperldiag: sort the ma* entries
Father Chrysostomos [Mon, 14 Feb 2011 02:41:59 +0000 (18:41 -0800)]
perldiag: sort the ma* entries

13 years agoperldiag: whitespace; grammar
Father Chrysostomos [Mon, 14 Feb 2011 02:40:29 +0000 (18:40 -0800)]
perldiag: whitespace; grammar

13 years agoperldiag: an number -> a number
Father Chrysostomos [Mon, 14 Feb 2011 02:34:02 +0000 (18:34 -0800)]
perldiag: an number -> a number

That’s my own typo.

13 years agoperldiag: reflow ‘Lexing code attempted to stuff...’
Father Chrysostomos [Mon, 14 Feb 2011 02:31:50 +0000 (18:31 -0800)]
perldiag: reflow ‘Lexing code attempted to stuff...’

for the sake of diagnostics.pm, which displays the link simply as
lex_stuff_pvn_flags.

13 years agoSilence win32 smoke compiler warning
Karl Williamson [Sat, 12 Feb 2011 20:38:53 +0000 (13:38 -0700)]
Silence win32 smoke compiler warning

13 years agoSilence util.c compiler warning from win32 smokes
Karl Williamson [Sat, 12 Feb 2011 20:38:16 +0000 (13:38 -0700)]
Silence util.c compiler warning from win32 smokes

13 years agoperldiag: Suggest use re '/m' for $*
Father Chrysostomos [Mon, 14 Feb 2011 01:07:03 +0000 (17:07 -0800)]
perldiag: Suggest use re '/m' for $*

13 years agoperldiag: reflow $* and $#
Father Chrysostomos [Mon, 14 Feb 2011 00:57:27 +0000 (16:57 -0800)]
perldiag: reflow $* and $#

13 years agoperldiag: more typos and grammar
Father Chrysostomos [Sun, 13 Feb 2011 22:52:14 +0000 (14:52 -0800)]
perldiag: more typos and grammar

13 years agoperldiag: fewer, not less
Father Chrysostomos [Sun, 13 Feb 2011 22:47:10 +0000 (14:47 -0800)]
perldiag: fewer, not less

(plus a bit of reflow)

13 years agoReflow perldiag/Invalid separator...
Father Chrysostomos [Sun, 13 Feb 2011 22:45:03 +0000 (14:45 -0800)]
Reflow perldiag/Invalid separator...

for an eighty-column terminal under ‘use diagnostics’

13 years agoMention mro plugins in perldiag
Father Chrysostomos [Sun, 13 Feb 2011 22:39:37 +0000 (14:39 -0800)]
Mention mro plugins in perldiag

and reflow the entry

13 years agoSort some perldiag entries
Father Chrysostomos [Sun, 13 Feb 2011 22:49:36 +0000 (14:49 -0800)]
Sort some perldiag entries

13 years agoList all proto chars in perldiag
Father Chrysostomos [Sun, 13 Feb 2011 22:26:52 +0000 (14:26 -0800)]
List all proto chars in perldiag

The description for ‘Illegal character in prototype’ did not include
the new + prototype.

13 years agoperldiag: Reflow ‘Having no space...’
Father Chrysostomos [Sun, 13 Feb 2011 22:23:54 +0000 (14:23 -0800)]
perldiag: Reflow ‘Having no space...’

This does not fit in an eighty-column terminal under ‘use
diagnostics’.

13 years agoReflow perdiag/()-group...
Father Chrysostomos [Sun, 13 Feb 2011 22:21:12 +0000 (14:21 -0800)]
Reflow perdiag/()-group...

This does not look very good:

$ ./perl -Ilib -Mdiagnostics -e 'warn "()-group starts with a count"'
()-group starts with a count at -e line 1 (#1)
    (F) A ()-group started with a count.  A count is
    supposed to follow something: a template character or a ()-group.
     See "pack" in perlfunc.

13 years agoperldiag: copy/paste error
Father Chrysostomos [Sun, 13 Feb 2011 22:12:53 +0000 (14:12 -0800)]
perldiag: copy/paste error

When the ‘Filehandle opened only for output’ message is displayed, the user is trying to read from the handle, so saying ‘instead of "<" or nothing’ does not make sense, as it would not have produced the error.

13 years agoperldiag: missing article
Father Chrysostomos [Sun, 13 Feb 2011 22:08:21 +0000 (14:08 -0800)]
perldiag: missing article

13 years agoReplace mention of MacPerl with Symbian
Father Chrysostomos [Sun, 13 Feb 2011 21:59:31 +0000 (13:59 -0800)]
Replace mention of MacPerl with Symbian

13 years agoImprove perldiag/Eval-group not allowed at runtime
Father Chrysostomos [Sun, 13 Feb 2011 20:36:39 +0000 (12:36 -0800)]
Improve perldiag/Eval-group not allowed at runtime

• Mention use re 'eval' within the description
• Improve text flow

13 years agoperldoc improvements for map
Alexander Hartmaier [Fri, 11 Feb 2011 14:36:21 +0000 (15:36 +0100)]
perldoc improvements for map

13 years agoAdd Alexander Hartmaier to AUTHORS
Father Chrysostomos [Sun, 13 Feb 2011 19:39:58 +0000 (11:39 -0800)]
Add Alexander Hartmaier to AUTHORS

13 years agoRemove some whitespace pod warnings in perluniprops.pod
Michael Stevens [Sun, 13 Feb 2011 13:23:30 +0000 (13:23 +0000)]
Remove some whitespace pod warnings in perluniprops.pod

13 years agoignore extensions based on the configuration
Tony Cook [Thu, 6 Jan 2011 10:52:24 +0000 (21:52 +1100)]
ignore extensions based on the configuration

13 years agoactually handle the case of extensions being built statically
Tony Cook [Thu, 6 Jan 2011 10:51:30 +0000 (21:51 +1100)]
actually handle the case of extensions being built statically

13 years agoCorrect perldiag/Died
Father Chrysostomos [Sun, 13 Feb 2011 07:54:27 +0000 (23:54 -0800)]
Correct perldiag/Died

‘die’ does not look at $_.

13 years agoReflow perldiag/Deprecated character in \N{...}
Father Chrysostomos [Sun, 13 Feb 2011 07:51:35 +0000 (23:51 -0800)]
Reflow perldiag/Deprecated character in \N{...}

It wraps on a 80-character terminal under ‘use diagnostics’.

13 years agoResort some perldiag entries
Father Chrysostomos [Sun, 13 Feb 2011 07:41:39 +0000 (23:41 -0800)]
Resort some perldiag entries

According to the description at the top, non-alphabetic characters and
%-format characters are ignored in alphabetisation.

13 years agoMore perldiag grammar tweaks
Father Chrysostomos [Sun, 13 Feb 2011 07:39:13 +0000 (23:39 -0800)]
More perldiag grammar tweaks

13 years agoDelete perldiag/Can't unshift
Father Chrysostomos [Sun, 13 Feb 2011 07:32:02 +0000 (23:32 -0800)]
Delete perldiag/Can't unshift

This error message was removed by commit 49beac4814c9f4 fourteen
years ago.

13 years agoMake diagnostics.pm understand messages sharing descriptions
Father Chrysostomos [Sun, 13 Feb 2011 07:30:13 +0000 (23:30 -0800)]
Make diagnostics.pm understand messages sharing descriptions

We currently have entries in perldiag like this:

=item Code point 0x%X is not Unicode, may not be portable

=item Code point 0x%X is not Unicode, no properties match it; all inverse properties do

(W utf8) You had a code point above the Unicode maximum of U+10FFFF.

...

diagnostics.pm needs to know that the description applies to the first
=item, as well as to the second.

13 years agomore perldiag grammar/punctuation tweaks
Father Chrysostomos [Sun, 13 Feb 2011 07:10:23 +0000 (23:10 -0800)]
more perldiag grammar/punctuation tweaks

13 years agoAdd Larwan Berke’s other address to checkAUTHORS.pl
Father Chrysostomos [Sun, 13 Feb 2011 06:45:54 +0000 (22:45 -0800)]
Add Larwan Berke’s other address to checkAUTHORS.pl

13 years agoCorrectly list the allowed modifiers in the (?...) construct
Apocalypse [Sun, 13 Feb 2011 06:08:10 +0000 (23:08 -0700)]
Correctly list the allowed modifiers in the (?...) construct

13 years agoReflow perldiag/Can't find Unicode property
Father Chrysostomos [Sun, 13 Feb 2011 03:11:41 +0000 (19:11 -0800)]
Reflow perldiag/Can't find Unicode property

so it appears slightly less unsightly under ‘use diagnostics’.

13 years agoregex: Deprecate \b{ and \B{
Karl Williamson [Sun, 13 Feb 2011 04:19:02 +0000 (21:19 -0700)]
regex: Deprecate \b{ and \B{

This allows future use by Perl of these

13 years agoregcomp.c: include { in unregcognized \q{ warning
Karl Williamson [Sun, 13 Feb 2011 04:08:50 +0000 (21:08 -0700)]
regcomp.c: include { in unregcognized \q{ warning

The warning message about regex unrecognized escapes passed through is
changed to include any literal '{' following the 2-char escape.
e.g., "\q{" will include the { in the message as part of the escape.

13 years agoImprove diagnostics.pm’s link rendering.
Father Chrysostomos [Sun, 13 Feb 2011 02:05:14 +0000 (18:05 -0800)]
Improve diagnostics.pm’s link rendering.

The number of L<foo/bar> links in perldiag has grown over time, and
diagnostics.pm has never been updated to render them nicely, resulting
in output like this:

Lexing code attempted to stuff non-Latin-1 character into Latin-1 input at
  lib/diagnostics.t line 36 (#3)
     (F) An extension is attempting to insert text into the current parse
     (using lex_stuff_pvn_flags|perlapi/lex_stuff_pvn_flags or similar), but
     tried to insert a character that couldn't be part of the current input.
     This is an inherent pitfall of the stuffing mechanism, and one of the
     reasons to avoid it.  Where it is necessary to stuff, stuffing only
     plain ASCII is recommended.

I’ve implemented some rudimentary L<> parsing, which should suffice
for perldiag. I think using a real POD processor would be overkill.

13 years agoDelete perldiag/Can't declare class for non-scalar
Father Chrysostomos [Sun, 13 Feb 2011 01:12:23 +0000 (17:12 -0800)]
Delete perldiag/Can't declare class for non-scalar

This message no longer occurs as of d5e98372e6efc4, which was included
in 5.12.0.

13 years agoDelete perldiag/Can't call method in empty package
Father Chrysostomos [Sun, 13 Feb 2011 01:05:56 +0000 (17:05 -0800)]
Delete perldiag/Can't call method in empty package

This message has not been produced since ac91690fe10ac7691f6f, four-
teen years ago!

13 years agoperldiag: Combine nearly identical entries
Father Chrysostomos [Sun, 13 Feb 2011 01:04:39 +0000 (17:04 -0800)]
perldiag: Combine nearly identical entries

These entries--

=item Can't coerce %s to integer in %s
=item Can't coerce %s to number in %s
=item Can't coerce %s to string in %s

--can be combined into one. Currently, they say exactly the same
thing, except that the first one has more detail. Consequently,
diagnostics.pm will sometimes provide more, and sometimes less, infor-
mation, which is suboptimal.

13 years agoperldiag: pseudo-hashes are long gone
Father Chrysostomos [Sat, 12 Feb 2011 23:06:20 +0000 (15:06 -0800)]
perldiag: pseudo-hashes are long gone

13 years agoperlfaq7: there are no empty packages any more
Father Chrysostomos [Sat, 12 Feb 2011 23:00:42 +0000 (15:00 -0800)]
perlfaq7: there are no empty packages any more

13 years agoperldiag: typos
Father Chrysostomos [Sat, 12 Feb 2011 22:54:17 +0000 (14:54 -0800)]
perldiag: typos

13 years agoperldiag: be realistic
Father Chrysostomos [Sat, 12 Feb 2011 21:54:23 +0000 (13:54 -0800)]
perldiag: be realistic

13 years agoperldiag: typos and slight English improvements
Father Chrysostomos [Sat, 12 Feb 2011 21:53:24 +0000 (13:53 -0800)]
perldiag: typos and slight English improvements

13 years agoCorrect perldiag/Ambiguous use of -%s
Father Chrysostomos [Sat, 12 Feb 2011 21:15:46 +0000 (13:15 -0800)]
Correct perldiag/Ambiguous use of -%s

Use of -foo to mean "-foo" is valid even in strict mode.

13 years agoAdd info to perlhist.pod for 5.12.{2,3}
Curtis Jewell [Sat, 12 Feb 2011 18:32:12 +0000 (11:32 -0700)]
Add info to perlhist.pod for 5.12.{2,3}

13 years agoClarify perldiag/Ambiguous use of %c{%s%s}
Father Chrysostomos [Sat, 12 Feb 2011 20:20:52 +0000 (12:20 -0800)]
Clarify perldiag/Ambiguous use of %c{%s%s}

${foo[2]} only warns with built-in keywords. (See the source in
toke.c:S_scan_ident which uses keyword().)

The suggested use of $foo[2] instead of ${foo[2]} does not
always work.

I also added an ‘and’ to clarify the existing text.

13 years agoClean up perldiag/Ambiguous use resolved as operator
Father Chrysostomos [Sat, 12 Feb 2011 18:00:25 +0000 (10:00 -0800)]
Clean up perldiag/Ambiguous use resolved as operator

This entry was missing some words. I supplied them, fixed spelling
mistakes, and reflowed it to look good under -Mdiagnostics.

13 years agoBump re.pm’s version
Father Chrysostomos [Sat, 12 Feb 2011 17:38:29 +0000 (09:38 -0800)]
Bump re.pm’s version

13 years agoperldebug: capitalise titles
Father Chrysostomos [Sat, 12 Feb 2011 17:36:18 +0000 (09:36 -0800)]
perldebug: capitalise titles

The capitalisation was rather inconsistent throughout.

13 years agoFix links to POD sections
Father Chrysostomos [Sat, 12 Feb 2011 17:33:38 +0000 (09:33 -0800)]
Fix links to POD sections

13 years agoperldebug: perl no longer includes the emacs mode
Father Chrysostomos [Sat, 12 Feb 2011 15:07:42 +0000 (07:07 -0800)]
perldebug: perl no longer includes the emacs mode

13 years agoperldebug tweaks
Father Chrysostomos [Sat, 12 Feb 2011 15:07:05 +0000 (07:07 -0800)]
perldebug tweaks

13 years agoUpdate CPANPLUS to CPAN version 0.91
Chris 'BinGOs' Williams [Sat, 12 Feb 2011 13:06:22 +0000 (13:06 +0000)]
Update CPANPLUS to CPAN version 0.91

  [DELTA]

  Changes for 0.91        Fri Feb 11 22:43:31 2011
  ================================================
  * Making a stable release

  Changes for 0.90_13     Mon Feb  7 10:26:35 2011
  ================================================
  * Fix Parse::CPAN::Meta prereq version

  Changes for 0.90_12     Sun Feb  6 19:48:49 2011
  ================================================
  * Remove more trailing whitespace spotted by Nicholas Clark
    with patch to fix, RT #64976
  * Added META.json and MYMETA.json support. Requires a more
    recent Parse::CPAN::Meta
  * Switch to Digest::SHA and SHA256 checksums instead of
    Digest::MD5 and MD5, which has dropped v5.6.x support.

13 years agoperldebguts tweaks
Father Chrysostomos [Sat, 12 Feb 2011 05:37:45 +0000 (21:37 -0800)]
perldebguts tweaks

13 years agoperldbmfilter tweaks
Father Chrysostomos [Sat, 12 Feb 2011 01:56:53 +0000 (17:56 -0800)]
perldbmfilter tweaks

• ‘Each’ is singular
• ‘If not’, not ‘in not’

13 years agoperldata: remove duplicate text from adjacent sections
Father Chrysostomos [Fri, 11 Feb 2011 22:01:55 +0000 (14:01 -0800)]
perldata: remove duplicate text from adjacent sections

13 years agoperlfunc/eval: $@ is now set after unwinding
Father Chrysostomos [Fri, 11 Feb 2011 21:46:47 +0000 (13:46 -0800)]
perlfunc/eval: $@ is now set after unwinding

13 years agoperlfunc: hyphenate a compound adjective
Father Chrysostomos [Fri, 11 Feb 2011 21:43:38 +0000 (13:43 -0800)]
perlfunc: hyphenate a compound adjective

13 years agoperldata: retitle a section
Father Chrysostomos [Fri, 11 Feb 2011 21:36:58 +0000 (13:36 -0800)]
perldata: retitle a section

The ‘Array Joining Delimiter’ section is about array interpolation in
general, not just the $" variable.

13 years agoperldelta: ‘package;’ is no longer supported
Father Chrysostomos [Fri, 11 Feb 2011 21:32:15 +0000 (13:32 -0800)]
perldelta: ‘package;’ is no longer supported

13 years agoperldata tweaks
Father Chrysostomos [Fri, 11 Feb 2011 20:48:23 +0000 (12:48 -0800)]
perldata tweaks

13 years agoAdd Version::Requirements as a dual-life module
David Golden [Fri, 11 Feb 2011 14:31:03 +0000 (09:31 -0500)]
Add Version::Requirements as a dual-life module

Version::Requirements version 0.101020 has been added as a dual-life
module.  It provides a standard library to model and manipulates module
prerequisites and version constraints as defined in the CPAN::Meta::Spec.

It is a prerequisite for CPAN::Meta, which will be used by the Perl
CPAN Toolchain to standardize interactions with META and MYMETA files.

13 years agoretab t/porting/checkcase.t
David Golden [Fri, 11 Feb 2011 16:01:12 +0000 (11:01 -0500)]
retab t/porting/checkcase.t

13 years agot/porting/checkcase.t should skip directories
David Golden [Fri, 11 Feb 2011 15:58:22 +0000 (10:58 -0500)]
t/porting/checkcase.t should skip directories

We should only care about directory case to the extent
it causes an actual file collision, so we can safely skip
directories and let the file collision tests find issues for us.

13 years agoperlcompile tweaks
Father Chrysostomos [Fri, 11 Feb 2011 14:25:43 +0000 (06:25 -0800)]
perlcompile tweaks

• Hyphenate compound adjectives
• Missing word

13 years agoperlcommunity: punctuation and capitalisation
Father Chrysostomos [Fri, 11 Feb 2011 14:16:22 +0000 (06:16 -0800)]
perlcommunity: punctuation and capitalisation

13 years agoperlcommunity: capitalise consistently
Father Chrysostomos [Fri, 11 Feb 2011 14:08:30 +0000 (06:08 -0800)]
perlcommunity: capitalise consistently

13 years agoperlclib: similar to, not similar as
Father Chrysostomos [Fri, 11 Feb 2011 14:07:14 +0000 (06:07 -0800)]
perlclib: similar to, not similar as

13 years agoRelation between overloading and ties: second try
Father Chrysostomos [Thu, 10 Feb 2011 22:35:57 +0000 (14:35 -0800)]
Relation between overloading and ties: second try

The current text is confusing as it refers to tied values. Variables, not values, are tied (don’t bring up handles, please!).

13 years agoRevert "The relation between overloading and ties has been fixed."
Father Chrysostomos [Thu, 10 Feb 2011 22:22:02 +0000 (14:22 -0800)]
Revert "The relation between overloading and ties has been fixed."

This reverts commit c378af320498199f011ee6aca32cef036936dd36.

Other parts of the document still refer to this. More edits are
fifthcoming.

13 years agoThe relation between overloading and ties has been fixed.
Father Chrysostomos [Thu, 10 Feb 2011 22:08:10 +0000 (14:08 -0800)]
The relation between overloading and ties has been fixed.

13 years agotypo in perldiag
Father Chrysostomos [Thu, 10 Feb 2011 22:05:15 +0000 (14:05 -0800)]
typo in perldiag

13 years agoPrevent destructors called from gp_free from seeing freed SVs
Father Chrysostomos [Thu, 10 Feb 2011 22:04:54 +0000 (14:04 -0800)]
Prevent destructors called from gp_free from seeing freed SVs

perl5.13.9 -e 'local *foo; $foo = bless[]; (); DESTROY { use Devel::Peek; Dump $foo; }'

This prints:
SV = UNKNOWN(0xff) (0x8044dc) at 0x8044e0
  REFCNT = 0
  FLAGS = ()

If I do anything with $foo inside the destructor, such as
‘local $foo’, it crashes, of course.

gp_free (called when *foo is being unlocalised on scope exit) does
SvREFCNT_dec(gp->gp_xv) on each of its slots.

SvREFCNT_dec(gp->gp_sv) lowers the refcount of $foo to zero, which
causes the object it references to be destroyed, too. The objects
destructor sees the same $foo still there in the typeglob.

This commit changes gp_free to use a loop, the way S_hfreeentries
(in hv.c) does, checking that everything has been freed before exit-
ing the loop.

(The one-liner above is a reduced version of

perl -MWWW::Scripter -e '$w = new WWW::Scripter; $w->use_plugin(JavaScript); $w->get(q|data:text/html,<a href onclick="throw new Error(&quot;XMLHttpRequest&quot;)">|); $w->document->links->[0]->click'

which involved *@ and a destructor localising $@.)

13 years agoperl #82278: Overload documentation: many changes This is a partial rewrite to addres...
Michael Breen [Wed, 9 Feb 2011 10:31:03 +0000 (10:31 +0000)]
perl #82278: Overload documentation: many changes This is a partial rewrite to address long standing issues and comments that this document is confusing, in addition to accurately documenting the behaviour of fallback and nomethod in the context of overloaded operands of different types, as implemented in the fix for bug #71286. Fixes many mistakes, ambiguities, and omissions. Most of the early part of the document has been restructured and revised. For the full list of changes, see bug #82278.

13 years ago[perl #77692] substr causes panic: sv_len_utf8 cache...
Father Chrysostomos [Thu, 10 Feb 2011 17:20:14 +0000 (09:20 -0800)]
[perl #77692] substr causes panic: sv_len_utf8 cache...

pp_substr contains this comment, which was added in perl 5.0 alpha 2
(commit 79072805bf63):

    PUSHs(TARG); /* avoid SvSETMAGIC here */

Calling set-magic when substr returns an lvalue will cause its argu-
ment to be stringified even if the lvalue is not assigned to. That’s
why set-magic has to be avoided.

But the result is that utf8 caches (stored in magic) on TARG are not
reset properly.

Since substr lvalues now follow a different code path (and do not use
TARG at all), it’s perfectly safe to call set-magic at this point.
It’s also the right thing to do in case of other types of magic that
might get attached to TARG.

13 years agoexporting a static function doesn't work
Tony Cook [Thu, 10 Feb 2011 12:20:53 +0000 (23:20 +1100)]
exporting a static function doesn't work

13 years agoIn test.pl, validate that require_ok() and use_ok() are called correctly.
Nicholas Clark [Thu, 10 Feb 2011 11:14:23 +0000 (11:14 +0000)]
In test.pl, validate that require_ok() and use_ok() are called correctly.

It only provides a subset of the Test::More functionality, but could
inadvertently be used in a way which is not compatible with Test::More, which
is not the intent.

13 years agoFix up \cX for 5.14
Karl Williamson [Thu, 10 Feb 2011 04:18:48 +0000 (21:18 -0700)]
Fix up \cX for 5.14

Throughout 5.13 there was temporary code to deprecate and forbid
certain values of X following a \c in qq strings.  This patch fixes
this to the final 5.14 semantics.

These are:

1) a utf8 non-ASCII character will croak.  This is the same
behavior as pre-5.13, but it gives a correct error message, rather than
the malformed utf8 message previously.

2) \c{ and \cX where X is above ASCII will generate a deprecated
message.  The intent is to remove these capabilities in 5.16.  The
original agreement was to croak on above ASCII, but that does violate
our stability policy, so I'm deprecating it instead.

3) A non-deprecated warning is generated for all other \cX; this is the
same as throughout the 5.13 series.

I did not have the tuits to use \c{} as I had planned in 5.14, but \N{}
can be used instead.

13 years agodquote_static.c: Add comment
Karl Williamson [Thu, 10 Feb 2011 04:17:54 +0000 (21:17 -0700)]
dquote_static.c: Add comment