Nicholas Clark [Thu, 16 Jun 2011 09:11:39 +0000 (11:11 +0200)]
In pp_match, refactor the call to CALLREGEXEC() to avoid a goto.
The previous slightly contorted logic had an if() block that ended in a goto,
where the target was only 6 lines later, and could not be reached directly.
It dates back to (at least) 5.000, with no structural changes since then.
Father Chrysostomos [Thu, 16 Jun 2011 04:52:57 +0000 (21:52 -0700)]
perldelta for breakpoints by file name
Shlomi Fish [Thu, 16 Jun 2011 04:46:16 +0000 (21:46 -0700)]
Break upon <filename>:<line>
Shlomi Fish [Thu, 16 Jun 2011 04:38:06 +0000 (21:38 -0700)]
Tests for #92906: perl -d has non-functional b command
In bleadperl (NOT perl-5.12.3) perl -d's "b" command does not appear
to do anything as verified on my x86-64 Mandriva Linux Cooker machine. This
patch adds a regression test to test for it.
See:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173568.html
Father Chrysostomos [Thu, 16 Jun 2011 04:35:56 +0000 (21:35 -0700)]
[perl #92906] perl -d has non-functional b command
This fixes a regression introduced after 5.14.0.
Commit
6f83ef0e5a4 got dbfile and dbline magic mixed up and ended up
apply set-magic to the hash (dbfile), not to the element (dbline).
The result was that debugger breakpoints simply did not work at all.
George Greer [Thu, 16 Jun 2011 03:59:22 +0000 (23:59 -0400)]
CGI: Reset permissions during temporary directory test so Win32 can remove.
The 'tmpdir.t' test leaves the permissions of the directories at 0500, which
translates into setting the 'read-only' bit in Win32-speak. That makes the
'rmdir' in the END block fail (silently) and thus the test is very unhappy
the next time through. It is easy enough to just run the test twice to see.
Karl Williamson [Thu, 16 Jun 2011 00:20:11 +0000 (18:20 -0600)]
charnames: White space, comment only
Karl Williamson [Thu, 16 Jun 2011 00:09:02 +0000 (18:09 -0600)]
charnames: Add :loose matching
This adds the capability to charnames to use Unicode loose name
look-ups, via ":loose" being specified in the pragma.
The number of tests per code point is doubled in the .t, so to preserve
the same amount of elapsed test time, the number of code points tested
in each run is halved.
Karl Williamson [Wed, 15 Jun 2011 22:22:38 +0000 (16:22 -0600)]
mktables: Allow for loose \N{} matching
mktables makes several tables and defines a subroutine for looking up
algorithmically determinable names. Extend this to allow for Unicode
loose matching of names.
This is part of a patch sequence to extend this.
Karl Williamson [Wed, 15 Jun 2011 21:48:00 +0000 (15:48 -0600)]
charnames.t: Rmv duplicated test
Karl Williamson [Wed, 15 Jun 2011 18:17:41 +0000 (12:17 -0600)]
charnames: small comment fixes
Karl Williamson [Wed, 15 Jun 2011 18:09:55 +0000 (12:09 -0600)]
charnames: Check for malformed utf8
The new warnings categories in 5.14 allow for turning off warnings
for everything but malformed utf8; instead of all or nothing.
Allow malformed warnings.
Karl Williamson [Wed, 15 Jun 2011 18:08:40 +0000 (12:08 -0600)]
charnames pod: Note that BELL is now deprecated
Karl Williamson [Mon, 13 Jun 2011 19:00:41 +0000 (13:00 -0600)]
charnames: Minor pod clarifications
Karl Williamson [Wed, 15 Jun 2011 20:32:14 +0000 (14:32 -0600)]
charnames: Quote metachars in script names
"use charnames qw(.*)" will match any script; it should match none.
David Mitchell [Wed, 15 Jun 2011 15:17:01 +0000 (16:17 +0100)]
Benchmark.t: ignore sys CPU time
Currently we work out the CPU burned by a loop by summing user and sys
CPU. On the grounds that the burning we're interested in should have all
been carried out with user CPU and that therefore any sys CPU is a red
herring, ignore sys CPU for the infamous test 15.
Yes, this is clutching at straws. Still, diagnostics output may show
in future whether I was right!
David Mitchell [Wed, 15 Jun 2011 15:12:16 +0000 (16:12 +0100)]
Benchmark.t: fix count estimate
Commit
bb6c6e4b8d10f2e460a7fe48e677d3d998a7f77d, which added
improved diagnostics, also broke the count estimate.
David Mitchell [Wed, 15 Jun 2011 14:07:57 +0000 (15:07 +0100)]
[perl #92828] eintr.t hangs on FreeBSD
My commit
df375c6d048b938ecdeaecc7b264a7f1a190120a attempted to
convert t/io/eintr.t from OS-based skipping to capability-based skipping,
but it only tested whether reads from pipes are interruptible.
Some OSes (like FreeBSD) only hang on write; so probe for that too.
Nicholas Clark [Wed, 15 Jun 2011 10:14:59 +0000 (12:14 +0200)]
Remove Shell from the core distribution. Get it from CPAN now.
This reinstates
28d302d426b73ed7, which was reverted by
c9a0cae924d6331f,
because Shell.pm was missing its deprecation warning in 5.12. (Minor changes
subsequently mean that
c9a0cae924d6331f as-is can't be reverted).
The entry in perldelta.pod has to to be C<Shell> because L<Shell> would be a
broken link, and fail t/porting/podcheck.t. Change the removal notice for
Devel::DProf from L<> to C<> to be consistent. L<Devel::DProf> *isn't* a
podchecker error - presumably the "=head2 Devel::DProf" in perlperf.pod is seen
as the valid link target.
Father Chrysostomos [Wed, 15 Jun 2011 01:09:22 +0000 (18:09 -0700)]
Make B::Deparse emit CORE::state, etc.
Commit
9dcb83683 enabled feature.pm-enabled keywords to work with the
CORE:: prefix even without feature.pm.
B::Deparse is hereby updated to account for this, by prefixing CORE::
to those keywords if the feature in question is not loaded.
David Golden [Wed, 15 Jun 2011 01:57:37 +0000 (21:57 -0400)]
perldelta.pod updated through ca3749d
Florian Ragwitz [Tue, 14 Jun 2011 21:07:00 +0000 (23:07 +0200)]
Mark Devel::DProf as deprecated in corelist
Florian Ragwitz [Tue, 14 Jun 2011 10:28:12 +0000 (12:28 +0200)]
Kill Devel::DProf
It has been deprecated in 5.14. Now is the time to remove it.
Florian Ragwitz [Tue, 14 Jun 2011 11:29:11 +0000 (13:29 +0200)]
Ignore deletes when looking for changed versions
Father Chrysostomos [Tue, 14 Jun 2011 20:10:13 +0000 (13:10 -0700)]
Allow ‘continue;’ without feature.pm
Since there is no conflict between ‘continue;’ and a user-defined sub-
routine (it’s a syntax error, as ‘continue’ is already a keyword),
there is no need to require the ‘switch’ feature to be enabled for
this keyword.
This actually simplifies the implementation.
Father Chrysostomos [Tue, 14 Jun 2011 19:54:12 +0000 (12:54 -0700)]
perldelta up to 571f0e8
H.Merijn Brand [Tue, 14 Jun 2011 18:12:01 +0000 (20:12 +0200)]
Update PerlCheat to 5.14
Nicholas Clark [Tue, 14 Jun 2011 15:52:46 +0000 (17:52 +0200)]
pos in lvalue context now returns a PVMG instead of a PVLV.
Store the target SV in mg_obj, instead of LvTARG(). This slightly reduces both
code complexity and runtime memory use.
Nicholas Clark [Tue, 14 Jun 2011 15:32:12 +0000 (17:32 +0200)]
In magic.t, restore $$ after modifying it.
Otherwise tests for setting $0 fail on any Linux or FreeBSD machine which
happens to have a running process 42. (The value $$ is set to for the
assignment test). Without a running process 42, those tests skip, on the
assumption that they aren't running on a suitable platform to read the process
name with external commands.
David Mitchell [Tue, 14 Jun 2011 13:21:56 +0000 (14:21 +0100)]
[perl #8611] tied handles and gotos don't mix
tied handle method calls, unlike other types of tie, don't push a new
stack. This means that a goto within a method to an outer scope
"succeeds", and pops back the context stack past the method call. When
control (at the C level) eventually passes back to the return from
call_method(), we've lost all our relevant stack contents (like all the
ENTERs), and corruption ensures.
The fix is to add PUSHSTACKi/POPSTACK.
The side effect of this is that attempts to goto out of a tied handle
method call now give "Can't find label" errors, like non-handle methods
already do.
Florian Ragwitz [Tue, 14 Jun 2011 11:12:26 +0000 (13:12 +0200)]
Ignore the generated mg_data.h
brian d foy [Thu, 2 Jun 2011 02:21:46 +0000 (21:21 -0500)]
perlfaq9: Sys::Hostname is in core since 5.0
brian d foy [Sun, 29 May 2011 13:17:42 +0000 (08:17 -0500)]
Remove FAQ about PONIE
brian d foy [Thu, 28 Apr 2011 15:12:51 +0000 (10:12 -0500)]
Re-mention $foo Magazin in perlfaq2
brian d foy [Fri, 15 Apr 2011 20:05:13 +0000 (15:05 -0500)]
The Perl Review isn't really a magazine anymore
Father Chrysostomos [Tue, 14 Jun 2011 05:44:15 +0000 (22:44 -0700)]
Make $$ writable, but still magical
This commit makes $$ writable again, as it was in 5.6, while preserv-
ing the magical pid-fetching added recently (post-5.14.0) by com-
mit
0e219455.
It does this by following Aristotle Pagaltzis’ brilliant suggestion in
<
20110609145148.GD8471@klangraum.plasmasturm.org>; namely, to store
the PID in magic when $$ is written to, so that get-magic can detect
whether a fork() has occurred and reset $$ accordingly. This makes it
seem as though the fork() code sets $$ itself (which it used to before
0e219455), while even working when C code outside of perl’s control
calls fork().
This restores compatibility with DBIx::Connector and PPerl.
David Golden [Mon, 13 Jun 2011 23:43:58 +0000 (19:43 -0400)]
Update preferred perldelta RT citation standard
Karl Williamson [Mon, 13 Jun 2011 17:48:40 +0000 (11:48 -0600)]
charnames: Abbreviations wrong on certain C1 controls
The abbreviations for 4 of the C1 controls have a trailing blank.
Unfortunately so did the tests for them.
Father Chrysostomos [Mon, 13 Jun 2011 06:16:29 +0000 (23:16 -0700)]
Move an XS::APItest var decl to PREINIT
Hopefully this will get smoke reports to pass again on Windows.
Father Chrysostomos [Mon, 13 Jun 2011 05:05:46 +0000 (22:05 -0700)]
More perldelta entries
Father Chrysostomos [Mon, 13 Jun 2011 01:09:59 +0000 (18:09 -0700)]
Some perldelta updates
Father Chrysostomos [Sun, 12 Jun 2011 22:14:04 +0000 (15:14 -0700)]
Fix typo in perlmod
Father Chrysostomos [Sun, 12 Jun 2011 21:46:44 +0000 (14:46 -0700)]
Completely free hashes containing nulls
This fixes a regression introduced since 5.14.0, by commit
e0171a1a3.
The new Perl_hfree_next_entry function that that commit introduced
returns the value of the hash element, or NULL if there are none left.
If the value of the hash element is NULL, the two cases are indistin-
guishable.
Before
e0171a1a3, all the hash code took null values into account.
mro_package_moved took advantage of that, stealing values out of a
hash and leaving it to the freeing code to delete the elements.
The two places that call Perl_hfree_next_entry (there was only one,
S_hfreeentries, with commit
e0171a1a3, but the following commit,
104d7b699c, made sv_clear call it, too) were not accounting for NULL
values’ being returned, and could terminate early, resulting in mem-
ory leaks.
One could argue that the perl core should not be assigning nulls to
HeVAL, but HeVAL is part of the public API and there could be CPAN
code assigning NULL to it, too.
So the safest approach seems to be to modify Perl_hfree_next_entry’s
callers to check the number of keys and not to attribute a signifi-
cance to a returned NULL.
Nicholas Clark [Mon, 2 May 2011 21:22:06 +0000 (22:22 +0100)]
Reorder interpreter struct to remove alignment holes
On a LP64 system the interpreter struct should now be 8 bytes smaller.
Nicholas Clark [Mon, 2 May 2011 20:22:08 +0000 (21:22 +0100)]
Re-order perlvars.h to group related variables, and spread mutexes out.
Move variables smaller than pointers into groups, to avoid holes in the
structure for PERL_GLOBAL_STRUCT. Spreading the mutexes out tries to keep them
off the same cache lines, which may help slightly on multi-processor machines.
Nicholas Clark [Mon, 2 May 2011 19:24:25 +0000 (20:24 +0100)]
PL_perlio_mutex is only needed with USE_UIHREADS && USE_PERLIO
(Not that Configure will let you configure with ithreads but without perlio)
Nicholas Clark [Mon, 2 May 2011 16:51:11 +0000 (17:51 +0100)]
Change PL_use_safe_putenv from int to bool.
It is only ever checked for truth/falsehood, and all assignments to it (in core
and on CPAN) are either 0 or 1.
Nicholas Clark [Mon, 2 May 2011 14:02:57 +0000 (15:02 +0100)]
Move PL_runops_{std,dbg} to perl.h, and make them const.
They exist solely to ensure that Perl_runops_standard and Perl_runops_debug
are linked in - nothing assigns to either variable, and nothing reads them.
Nicholas Clark [Sun, 1 May 2011 21:12:15 +0000 (22:12 +0100)]
Move PL_global_struct_size, PL_interp_size{,_5_16_0} to perl.h
Make them const U16 - they should have been const from the start.
Nicholas Clark [Sun, 1 May 2011 20:13:01 +0000 (21:13 +0100)]
In perlvar.h, move the always-present globals above those conditionally compiled
Rename PL_interp_size_5_10_0 to PL_interp_size_5_16_0, as it is only intended to
track interpreter size within (forwards) binary compatible maintenance branches.
Nicholas Clark [Sun, 1 May 2011 13:39:31 +0000 (14:39 +0100)]
Move PL_{revision,version,subversion} to perl.h, making them const U8.
To get the initialisation to work, the location of #include patchlevel.h needs
to be moved.
Nicholas Clark [Sun, 1 May 2011 11:25:58 +0000 (12:25 +0100)]
Move PL_sh_path to perl.h (except for OS/2), as it's const char[]
On OS/2, keep it in perlvars.h, as it's not const there. makedef.pl doesn't
pay attention to C pre-processor symbols, so it will always see the declaration
in perlvars.h, and add the symbol to the linker file, so no need to mention
sh_path in globvar.sym. Add special case logic in regen/embed.pl to make the
embedvar.h macros for PL_sh_path defined only on OS/2.
Nicholas Clark [Sat, 30 Apr 2011 22:01:07 +0000 (23:01 +0100)]
Move PL_{No,Yes,hexdigit} from perlvars.h to perl.h, as all are const char[]
They were converted in perl.h from const char[] to #define in
31fb120917c4f65d,
then re-instated as const char[], but in perlvars.h, in
3fe35a814d0a98f4.
There's no need for compile-time constants to jump through the hoops of
perlvars.h, even for Symbian, as the various "EXTCONST" variables already in
perl.h demonstrate.
These were the only 3 users of the the PERLVARISC macro, so eliminate that, and
all related code.
Nicholas Clark [Sat, 30 Apr 2011 20:49:03 +0000 (21:49 +0100)]
Eliminate PL_patleave, unused since perl 5.0 alpha 2.
patleave was added in perl 3.0 patch #35 patch #29 --
395c379347344a50,
used in scanpat(). scanpat() was refactored and renamed to scan_pat() in
5.0 alpha 2, "commented" out with the C pre-processor in 5.000, and removed in
5.001.
Nicholas Clark [Sat, 30 Apr 2011 15:10:20 +0000 (16:10 +0100)]
Move the temporary definitions for PERLVAR* macros inside #ifdef MULTIPLICITY
Under MULTIPLICITY, intrpvar.h is included "early", as:
struct interpreter {
# include "intrpvar.h"
};
with local definitions of PERLVAR{,A,I,IS,ISC} that generate output text for the
"variables" as structure members. Additionally, under PERL_GLOBAL_STRUCT
"perlvars.h" is included within struct perl_vars { ... }.
Move the definition/undefining of these 5 macros to within the
#ifdef MULTIPLICITY block, to clarify the limited intent of their scope.
Move some additional related PERL_GLOBAL_STRUCT setup to within the block.
Leon Brocard [Sun, 12 Jun 2011 13:53:29 +0000 (14:53 +0100)]
Update Porting/checkURL.pl to not verify secure hostnames and add many updates
Leon Brocard [Sun, 12 Jun 2011 13:21:00 +0000 (14:21 +0100)]
Fix broken URL in dist/threads/lib/threads.pm for the itheads mailing list
Leon Brocard [Sun, 12 Jun 2011 13:20:30 +0000 (14:20 +0100)]
Fix broken URLs in dist/Net-Ping/Changes from perlbrowse to git
Leon Brocard [Sun, 12 Jun 2011 13:19:53 +0000 (14:19 +0100)]
Fix broken URLs in dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod for RFCs
Leon Brocard [Sun, 12 Jun 2011 13:19:27 +0000 (14:19 +0100)]
Fix broken URLs in ExtUtils-Install/Changes from perlbrowse to git
Leon Brocard [Sun, 12 Jun 2011 13:18:32 +0000 (14:18 +0100)]
Fix broken URL in threads/shared.pm for the itheads mailing list
Leon Brocard [Sun, 12 Jun 2011 13:17:01 +0000 (14:17 +0100)]
Fix broken URLs for RFCs, bump version and document in perldelta
Leon Brocard [Sun, 12 Jun 2011 13:11:54 +0000 (14:11 +0100)]
Fix two broken URLs in mro.pm, bump version and document in perldelta
Nicholas Clark [Sun, 12 Jun 2011 12:23:30 +0000 (14:23 +0200)]
Generate the table of core magic types in perlguts.pod using mg_vtable.pl
This fixes a couple of errors and omissions, and resorts the table in the same
case insensitive order as the header files. It eliminates 1 overlong verbatim
line of pod.
As there's no good way to include component files into the core pods, and the
regen scripts aren't designed to modify in place, generate this to STDOUT (if
-g is added to the command line), to be hand edited into place. It would be
nice to be able to automate this fully.
Nicholas Clark [Sun, 12 Jun 2011 10:46:18 +0000 (11:46 +0100)]
In regen/mg_vtable.pl, move $longest inside the only block that uses it.
Nicholas Clark [Sun, 12 Jun 2011 09:24:46 +0000 (11:24 +0200)]
Reorder ops so that trans{,r} and aelemfast{,_lex} are adjacent.
Nicholas Clark [Sun, 24 Apr 2011 15:37:17 +0000 (16:37 +0100)]
Split OP_AELEMFAST_LEX out from OP_AELEMFAST.
6a077020aea1c5f0 extended the OP_AELEMFAST optimisation to lexical arrays.
Previously OP_AELEMFAST was only used as an optimisation for OP_GV, which is a
PADOP/SVOP.
However, by reusing the same opcode, and signalling (pad) lexical vs package,
it introduced a myriad of special cases, because OP_PADAV is a BASEOP (not a
PADOP), whilst OP_AELEMFAST is a PADOP/SVOP (which is larger).
Using two OP numbers allows each variant to have the correct OP flags in
PL_opargs. Both can continue to share the same C code.
Leon Brocard [Sun, 12 Jun 2011 07:45:13 +0000 (08:45 +0100)]
Fix some broken URLs found by Porting/checkURL.pl
Nicholas Clark [Sun, 12 Jun 2011 07:27:06 +0000 (09:27 +0200)]
Shrink struct am_table.
Two members, flags and fallback, were using integer types considerably larger
than the range of values that they needed to store.
Father Chrysostomos [Sat, 11 Jun 2011 21:44:32 +0000 (14:44 -0700)]
[perl #90130] Allow CORE::* without feature.pm
This commit allows feature.pm-enabled keywords to work with CORE::*
even outside the scope of ‘use feature’.
Father Chrysostomos [Sat, 11 Jun 2011 21:11:35 +0000 (14:11 -0700)]
Correct file references in switch.t
Father Chrysostomos [Sat, 11 Jun 2011 20:40:59 +0000 (13:40 -0700)]
Remove TODO markers from Devel::Peek tests
These all pass now as of commit
b56985536ef7.
Father Chrysostomos [Sat, 11 Jun 2011 20:22:45 +0000 (13:22 -0700)]
Remove x bit from rt-16221.t
Father Chrysostomos [Sat, 11 Jun 2011 20:21:49 +0000 (13:21 -0700)]
Increase Math::BigInt’s version
Father Chrysostomos [Sat, 11 Jun 2011 20:20:39 +0000 (13:20 -0700)]
Increase Math::BigFloat’s version
Ton Hospel [Sat, 11 Jun 2011 19:28:00 +0000 (12:28 -0700)]
[perl #85026] Iterate hashes by hand during do_sv_dump
A further note: while debugging this issue it was annoying that
Devel::Peek::Dump doesb't actually dump the HASH elements when an
iterator is active. Also added is a patch that does the iteration to
dump the HASH contents by iterating over it by hand (not disturbing
any active iterator). With that it also doesn't activate hash magic
during iteration, which I think is a feature
Father Chrysostomos [Sat, 11 Jun 2011 19:22:52 +0000 (12:22 -0700)]
Revert "Perl_do_sv_dump: alert when skipping elements"
This reverts commit
002beaef76a1595af2e39ffd4cd55c595bd6c271.
I am about to apply the manual-iteration patch from ticket #85026.
It conflicts with
002beaef, but it also renders
002beaef unnecessary.
Salvador Fandino [Sat, 11 Jun 2011 19:20:56 +0000 (12:20 -0700)]
allow features inside interactive debugger
Father Chrysostomos [Sat, 11 Jun 2011 19:26:35 +0000 (12:26 -0700)]
Add dist/Math-BigInt/t/rt-16221.t to MANIFEST
Peter John Acklam [Mon, 7 Mar 2011 10:45:38 +0000 (11:45 +0100)]
Fix Math::BigFloat->numify().
Math::BigFloat->numify() shall, according to the documentation and to be
consistent with Math::BigInt->numify() and Math::BigRat->numify(),
return a Perl scalar number, not a string.
- dist/Math-BigInt/lib/Math/BigFloat.pm:
- Fix objectify().
- dist/Math-BigInt/t/bigfltpm.inc:
- Remove no longer relevant tests.
- Modify existing tests and add new tests to verify correct behaviour.
This fix closes RT #66732.
Peter John Acklam [Mon, 7 Mar 2011 10:45:38 +0000 (11:45 +0100)]
Fix objectify()'s handling of "foreign objects".
- Fix handling of "foreign objects" so they are converted to the
appropriate class (Math::BigInt or Math::BigFloat).
- Avoid code duplication by using only one loop.
- Loop over indexes rather than array elements to make code cleaner.
- Fix incorrect code comments, add more code comments and clearify
existing ones.
- Correct handling of undefs to make the code consistent. objectify()
gave different output when the initial "shortcut" was removed.
- Add test file verifying that RT#16221 is fixed.
This fix closes RT #16221 and RT #52124. This patch supersedes Perl #86146.
Peter John Acklam [Mon, 7 Mar 2011 10:45:38 +0000 (11:45 +0100)]
Add sign function bsgn() as a complement to babs().
This is the standard mathematical signum function. It sets the
invocand to -1, 0, or 1, if it is real, and NaN otherwise.
Documentation and tests are included.
Father Chrysostomos [Fri, 13 May 2011 15:32:24 +0000 (08:32 -0700)]
Remove another bug workaround
Father Chrysostomos [Fri, 13 May 2011 15:31:16 +0000 (08:31 -0700)]
Remove workaround for fixed bug
Father Chrysostomos [Fri, 13 May 2011 15:30:50 +0000 (08:30 -0700)]
Revert "Revert "Make untie check the FAKE flag on globs""
This reverts commit
84b9ac853508aaff52254b6cf2b95a2a6783ff00.
Father Chrysostomos [Fri, 13 May 2011 15:30:25 +0000 (08:30 -0700)]
Revert "Revert "[perl #77688] tie $scalar can tie a handle""
This reverts commit
7850f4d6b732ab5f426cd3bcd9757c70a46cfda1.
Father Chrysostomos [Fri, 13 May 2011 15:29:42 +0000 (08:29 -0700)]
Revert "Revert "[perl #77496] tied gets scalars and globs confused""
This reverts commit
b029825916bf29623e00b45fa4226fab0d52d217.
Father Chrysostomos [Fri, 13 May 2011 15:24:16 +0000 (08:24 -0700)]
Revert ‘Deprecate tie $handle without *’
This reverts commit
7c7df8124bbdd7a0091f8ed82589548c8182f624,
except for the perldiag entry, which we still need for splain’s sake.
Nicholas Clark [Sat, 11 Jun 2011 17:21:01 +0000 (19:21 +0200)]
Add Porting/make_modlib_cpan.pl to MANIFEST.
Also -x it, as it doesn't have a suitable #! line, and its peers are all -x.
Karl Williamson [Wed, 4 May 2011 15:03:43 +0000 (09:03 -0600)]
regexec.c: Remvove unnecessary special handling for \xDF
regcomp.c has been changed, so the case that this handled no longer
comes up.
Craig A. Berry [Sat, 11 Jun 2011 16:25:30 +0000 (11:25 -0500)]
Typo in VMS-specific realclean target from
6f83ef0e5a45c465f83de3304c5818ba44492250.
David Golden [Sat, 11 Jun 2011 16:24:57 +0000 (12:24 -0400)]
Added Alan Haggai Alavi to AUTHORS
Alan Haggai Alavi [Sat, 11 Jun 2011 15:14:48 +0000 (20:44 +0530)]
perlvar.pod: fixed typo
Signed-off-by: David Golden <dagolden@cpan.org>
Nicholas Clark [Sun, 15 May 2011 16:20:42 +0000 (17:20 +0100)]
Correct errors in the use of multiple targets, which could break parallel make.
This was fixed in Makefile.SH in commit
0f13ebd5d71f8177.
Nicholas Clark [Sun, 15 May 2011 15:33:02 +0000 (16:33 +0100)]
Sort magic and magic vtable names in files generated by mg_vtable.pl
Magic is sorted case insensitively, with upper case before lower case.
vtable names are all lowercase letters.
Nicholas Clark [Sun, 15 May 2011 15:25:34 +0000 (16:25 +0100)]
Generate magic_names in dump.c using mg_vtable.pl.
Nicholas Clark [Sun, 15 May 2011 14:53:08 +0000 (15:53 +0100)]
Generate the PERL_MAGIC_* defines using mg_vtable.pl.
Nicholas Clark [Sun, 15 May 2011 13:45:53 +0000 (14:45 +0100)]
In PL_magic_data flag whether magic can be added to a readonly value.
Use this to simplify the logic in Perl_sv_magic().
This introduces a small change of behaviour for error cases involving unknown
magic types. Previously, if Perl_sv_magic() was passed a magic type unknown to
it, it would
1: Croak "Modification of a read-only value attempted" if read only
2: Return without error if the SV happened to already have this magic
3: otherwise croak "Don't know how to handle magic of type \\%o"
Now it will always croak "Don't know how to handle magic of type \\%o", even
on read only values, or SVs which already have the unknown magic type.
Nicholas Clark [Sun, 15 May 2011 12:54:19 +0000 (13:54 +0100)]
Store a flag for container/value magic in PL_magic_data.
Use this to replace S_is_container_magic() in mg.c with a direct lookup.
Nicholas Clark [Sun, 15 May 2011 12:21:09 +0000 (13:21 +0100)]
Create a lookup table for magic vtables from magic type, PL_magic_data.
Use it to eliminate the large switch statement in Perl_sv_magic().
As the table needs to be keyed on magic type, which is expressed as C character
constants, the order depends on the compiler's character set. Frustratingly,
EBCDIC variants don't agree on the code points for '~' and ']', which we use
here. Instead of having (at least) 4 tables, get the local runtime to sort the
table for us. Hence the regen script writes out the (unsorted) mg_raw.h, which
generate_uudmap sorts to generate mg_data.h