Steffen Mueller [Tue, 17 Jan 2012 07:54:50 +0000 (08:54 +0100)]
Typemaps: Start writing some general documentation
Steffen Mueller [Mon, 16 Jan 2012 21:39:01 +0000 (22:39 +0100)]
First stab T_REFREF docs
I am rather confident that this was added for some notion of symmetry
and completion. It's only half-implemented and there are no known users
in core or on CPAN. Candidate for deprecation (instead or in addition to
documentation?)?
Steffen Mueller [Mon, 16 Jan 2012 20:10:05 +0000 (21:10 +0100)]
Typemap tests: T_SHORT, T_U_INT, T_INT, T_LONG
Steffen Mueller [Mon, 16 Jan 2012 17:08:37 +0000 (18:08 +0100)]
Cleanup: Condense tests and add a few
Steffen Mueller [Mon, 16 Jan 2012 17:08:25 +0000 (18:08 +0100)]
Minor documentation fixes and annotations
Father Chrysostomos [Wed, 1 Feb 2012 04:40:14 +0000 (20:40 -0800)]
Stop SvPVutf8 from forcing the POK flag
It was setting this even on magical variables, causing stringification
not to bother calling FETCH, because the POK flag means ‘yes, I’m a
bonified [sic] string, with nothing funny going on’.
Father Chrysostomos [Wed, 1 Feb 2012 04:37:22 +0000 (20:37 -0800)]
XS::APItest: svpv_magic.t: Correct test name
Father Chrysostomos [Wed, 1 Feb 2012 02:16:48 +0000 (18:16 -0800)]
Make SvPVbyte return bytes for non-PVs
Instead of just doing SvPV on something that is not a PV, SvPVbyte
should actually do what it is advertised as doing.
Father Chrysostomos [Wed, 1 Feb 2012 02:16:24 +0000 (18:16 -0800)]
perldelta for ‘no overloading’ and qr//
Father Chrysostomos [Wed, 1 Feb 2012 02:14:12 +0000 (18:14 -0800)]
perldelta for stacked filetests and FETCH
Father Chrysostomos [Wed, 1 Feb 2012 02:13:14 +0000 (18:13 -0800)]
perldelta for stacked -t
Father Chrysostomos [Tue, 31 Jan 2012 21:04:57 +0000 (13:04 -0800)]
Test that SvPVutf8 works with magic vars
It didn’t until the previous commit.
Father Chrysostomos [Tue, 31 Jan 2012 20:57:09 +0000 (12:57 -0800)]
[perl #108994] Stop SvPVutf8 from coercing SVs
In shouldn’t destroy globs or references passed to it, or try to
coerce them if they are read-only or incoercible.
I added tests for SvPVbyte at the same time, even though it was not
exhibiting the same problems, as sv_utf8_downgrade doesn’t try to
coerce anything. (SvPVbyte has its own set of bugs, which I hope to
fix in fifthcoming commits.)
Father Chrysostomos [Tue, 31 Jan 2012 20:56:41 +0000 (12:56 -0800)]
perldelta for read-only core globs
Father Chrysostomos [Tue, 31 Jan 2012 20:24:23 +0000 (12:24 -0800)]
XS::APItest: Move $VERSION further up
so it can be changed without one having to search for it.
Father Chrysostomos [Tue, 31 Jan 2012 20:23:32 +0000 (12:23 -0800)]
Increase $XS::APItest::VERSION to 0.35
Father Chrysostomos [Tue, 31 Jan 2012 18:04:13 +0000 (10:04 -0800)]
perldelta for B::COP::stashflags
Father Chrysostomos [Tue, 31 Jan 2012 18:02:48 +0000 (10:02 -0800)]
B.pm: Document stashflags
(actually just list in; you have to know the internals
to use these things anyway)
Father Chrysostomos [Tue, 31 Jan 2012 17:52:29 +0000 (09:52 -0800)]
perldelta up to
675dc5e1a
Father Chrysostomos [Tue, 31 Jan 2012 17:30:54 +0000 (09:30 -0800)]
Increase $File::Copy::VERSION to 2.23
not 2.22, as that was used by 5.13.10, but the only changes in 5.13.10
were reverted for 5.13.11+.
Father Chrysostomos [Tue, 31 Jan 2012 17:27:20 +0000 (09:27 -0800)]
[perl #109104] File::Copy: Turn off ‘newline’ warnings
These warnings exist to catch file operations on unchomped file names.
But File::Copy should not be triggering them, otherwise it produces
warnings for every copy("foo/bar\n", "baz/bar\n"), with no (easy) way
to suppress the warning, as warnings are lexical.
I don’t know how to test this portably.
Father Chrysostomos [Tue, 31 Jan 2012 16:33:21 +0000 (08:33 -0800)]
Remove use of study from splain
It only helps with very long strings. It actually slows things down
slightly when used on short strings.
Father Chrysostomos [Tue, 31 Jan 2012 05:30:55 +0000 (21:30 -0800)]
Increase $File::Glob::VERSION to 1.17
following commit
ffa23acf6.
Nicholas Clark [Tue, 31 Jan 2012 13:29:04 +0000 (13:29 +0000)]
Add blank lines around Configure's duplicate extension diagnostic.
The diagnostic message containing the duplicate extension did not stand out,
particularly given that the immediately previous output is a very long line
of found extensions. So add blank lines on either to make it easier to
spot.
Florian Ragwitz [Tue, 31 Jan 2012 12:13:39 +0000 (13:13 +0100)]
Pod-Perldoc is now maintained on CPAN
Nicholas Clark [Tue, 31 Jan 2012 12:23:16 +0000 (13:23 +0100)]
Remove from perlfunc.pod the summaries of what's new/obsoleted in Perl 5.
Perl 5.000 isn't *new*. These days, people migrating to current Perl 5 aren't
coming from Perl 4, so this section is redundant.
Nicholas Clark [Tue, 24 Jan 2012 15:48:09 +0000 (16:48 +0100)]
Purge references to --libpod, an abbreviation for --libpods
--libpods was removed from Pod::HTML in commit
3b49d8d9ac841d8e, and
references to it removed in commit
6c6fc3be9a6e74e4. However, that commit
missed the fact that 2 callers were not using the full name for the option,
which works because Getopt::Long defaults to accepting unambiguous
abbreviations.
Nicholas Clark [Tue, 31 Jan 2012 11:16:53 +0000 (12:16 +0100)]
Configure now aborts with a diagnostic if it detects a duplicate extension.
During the development process, if an extension module changes dual-life
status it can move between ext/, dist/ and cpan/. If one uses git pull in a
built tree across such a change, one can end up with the build tree in a
messy state from which the 'distclean' target can't recover. Configure will
spot both the old and new directories, and may wrongly categorise the
extension as non-XS, resulting in obscure build failures after miniperl is
build.
In the general case, the "old" directory might contain files the user wants
to keep, so it's not safe to automatically delete it. The only safe option
is to ask the user to resolve the problem, hence with this change, if
Configure detects such a situation it aborts with a diagnostic suggesting
what to do.
This isn't a problem that affects released tarballs.
Nicholas Clark [Tue, 31 Jan 2012 11:02:43 +0000 (12:02 +0100)]
In B.xs, use *pvf() functions to reduce the number of API calls.
This gives a small reduction in both source lines and object code size.
Nicholas Clark [Tue, 24 Jan 2012 15:08:37 +0000 (16:08 +0100)]
diagnostics doesn't need to search for perldelta.pod in pre-5.005 locations.
Pods are installed into privlib. Before Perl 5.005, privlib didn't contain
the version number in it, so 5.004 and 5.003 (etc) both installed to the same
directory. perldiag.pod differed in not-quite compatible ways, so hacks were
put in to (a) also install it in privlib with the version number in the
filename (b) to hard link it to archlib, which always did contain the version
number.
5.005 changed privlib to contain the version number, solving the underlying
problem (strictly commit
bfb7748a896459cc, described here:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/1998-07/msg00136.html )
Commit
a841533b5cf319b3 (Oct 2009) removed the first installation hack,
Commit
e8ea61279d90dbe9 (Jul 1998) removed the second.
Hence the code to search in the "hacked" locations is no longer needed,
and in the interests of clarity, should go.
Karl Williamson [Sat, 28 Jan 2012 22:25:47 +0000 (15:25 -0700)]
podcheck.t: Add comment
Karl Williamson [Mon, 30 Jan 2012 18:27:07 +0000 (11:27 -0700)]
locale.t: Add tests for fc()
Karl Williamson [Mon, 30 Jan 2012 18:25:56 +0000 (11:25 -0700)]
locale.t: process in sorted order
for easier debugging, when debugging
Karl Williamson [Mon, 30 Jan 2012 17:29:59 +0000 (10:29 -0700)]
locale.t: White space only
This indents code to account for a newly formed block around it,
reflowing things to fit into an 80 column window.
And it adjusts the indentation of a few other lines.
Karl Williamson [Mon, 30 Jan 2012 17:25:25 +0000 (10:25 -0700)]
locale.t: Add tests for IN_UNI_8_BIT
These are more tests for commit
b36bf33f6564c3e9a9ff131f4f3c9980b7a8af15
Karl Williamson [Sun, 29 Jan 2012 19:16:59 +0000 (12:16 -0700)]
locale.t: white space only
Properly indent this statement
Brian Fraser [Mon, 30 Jan 2012 19:30:24 +0000 (16:30 -0300)]
use locale; fc(""); shouldn't taint.
fc() brought to life its own version of #39028. fc(""), like
lc("") and friends, shouldn't taint the result.
Dominic Hargreaves [Sat, 28 Jan 2012 14:00:39 +0000 (14:00 +0000)]
Increase the fallback value of MAXPATHLEN
On systems without MAXPATHLEN or PATH_MAX defined (GNU/Hurd is an example
of such a system), set MAXPATHLEN to 4096 rather than 1024; this increase
creates parity with Linux.
Leon Timmermans [Wed, 25 Jan 2012 19:38:46 +0000 (20:38 +0100)]
Moving :mmap out of core binary into a module
Father Chrysostomos [Mon, 30 Jan 2012 22:45:15 +0000 (14:45 -0800)]
stat.t: Use $>, not just $< for skipping
This is the paranoid version of just using $>.
Father Chrysostomos [Mon, 30 Jan 2012 20:33:31 +0000 (12:33 -0800)]
[perl #108780] Make /foo$qr/ work under ‘no overloading’
This changes the code in pp_regcomp to use the underlying REGEXP
instead of the reference to it, when concatenating pieces to mark a
larger regular expression. This makes /foo$qr/ work even under ‘no
overloading’. It stopped working with commit
a75c6ed6b.
Chris 'BinGOs' Williams [Mon, 30 Jan 2012 10:45:15 +0000 (10:45 +0000)]
Update IPC-Cmd to CPAN version 0.76
[DELTA]
Changes for 0.76 Mon Jan 30 11:30:53 GMT 2012
=================================================
* Make the empty arg stripping the default again,
with option to override this behaviour.
Changes for 0.74 Mon Jan 30 10:24:30 GMT 2012
=================================================
* Applied patch from WATANABE Hiroaki [RT #74470]
"Empty string cannot be passed to command"
* Resolved [RT #74373] reported by Randy Stauner
"Compilation error when POSIX.pm fails to load"
Father Chrysostomos [Mon, 30 Jan 2012 04:54:15 +0000 (20:54 -0800)]
Update MANIFEST
Father Chrysostomos [Mon, 30 Jan 2012 04:50:02 +0000 (20:50 -0800)]
Increase $Term::ReadLine::VERSION to 1.08
Father Chrysostomos [Mon, 30 Jan 2012 04:48:15 +0000 (20:48 -0800)]
Add Darin McBride to AUTHORS
Darin McBride [Mon, 30 Jan 2012 04:45:44 +0000 (20:45 -0800)]
[perl #108470] Make Term::ReadLine use AE if available
Term::ReadLine only allows the Tk event loop to be called during
a readline call. This should be updated to use AnyEvent which will
still work with Tk, as well as any other event loop the user may need.
With this patch, T::RL now uses AnyEvent if it is loaded, falling back
to Tk otherwise; so the Tk mode won't be affected.
T::RL::Stub has its own get_line. This does not honour the tkRunning
flag at all. If I remove it, it's fine. This patch does so.
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 21:28:12 +0000 (21:28 +0000)]
Update IO-Compress to CPAN version 2.048
[DELTA]
2.048 29 January 2012
* Set minimum zlib version to 1.2.0
* IO::Compress test suite fails with Compress::Raw::Zlib 2.047 and zlib < 1.2.4
[RT# 74503]
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 21:23:41 +0000 (21:23 +0000)]
Update Compress-Raw-Zlib to CPAN version 2.048
[DELTA]
2.048 29 January 2012
* Set minimum zlib version to 1.2.0
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 21:20:15 +0000 (21:20 +0000)]
Update Compress-Raw-Bzip2 to CPAN version 2.048
[DELTA]
2.048 29 January 2012
* No Changes
Karl Williamson [Sun, 29 Jan 2012 20:47:29 +0000 (13:47 -0700)]
lc.t: Add tests for previously broken IN_UNI_8_BIT
This adds tests for commit
b36bf33f6564c3e9a9ff131f4f3c9980b7a8af15
Karl Williamson [Sun, 29 Jan 2012 17:41:14 +0000 (10:41 -0700)]
pp.c: Can grow scalar by less
The max expansion when a Latin1 character is folded and converted to
UTF-8 is '2' bytes per input byte, not the more general case.
Brian Fraser [Mon, 9 Jan 2012 09:13:43 +0000 (06:13 -0300)]
pod updates for fc and \F
Brian Fraser [Thu, 12 Jan 2012 20:22:05 +0000 (17:22 -0300)]
Implement the fc keyword and the \F string escape.
Along with the simple_casefolding and full_casefolding features.
fc() stands for foldcase, a sort of pseudo case (like lowercase),
which is used to implement Unicode casefolding. It maps a string
to a form where all case differences are erased, so it's a
locale-independent way of checking if two strings are the same,
regardless of case.
This functionality was, and still is, available through the
regular expression engine -- /i matches would use casefolding
internally. The fc keyword merely exposes this for easier access.
Previously, one could attempt to case-insensitively test two strings
for equality by doing
lc($a) eq lc($b)
But that might get you wrong results, for example in the case of
\x{DF}, LATIN SMALL LETTER SHARP S.
Brian Fraser [Mon, 9 Jan 2012 05:44:16 +0000 (02:44 -0300)]
Add the fc keyword in regen/feature.pl
It doesn't do anything yet.
Karl Williamson [Sun, 29 Jan 2012 16:32:01 +0000 (09:32 -0700)]
utf8.h: Restore macro defn incorrectly trashed earlier
Commit
66cbab2c91fca8c9abc65a7231a053898208efe3 changed the definition
of IN_UNI_8_BIT, but in so doing, lost the 2nd line of the macro; and I
did not catch it. Tests will be added shortly.
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 16:25:15 +0000 (16:25 +0000)]
Add Windows 2008 to the list of Windows versions in perlport
Father Chrysostomos [Sun, 29 Jan 2012 07:06:25 +0000 (23:06 -0800)]
feature.h: Mask hints in CURRENT_FEATURE_BUNDLE
Otherwise CURRENT_FEATURE_BUNDLE will end up including any hints added
later that happen to use higher bits.
This was causing autobox to turn off all features, causing failures
for Dist::Zilla::PluginBundle::AVAR.
I’m not adding tests for this, as such tests would need constant
tweaking in future perl developement. What autobox is doing is
naughty and unsupported anyway.
Father Chrysostomos [Sun, 29 Jan 2012 03:14:39 +0000 (19:14 -0800)]
[perl #109264] ->method(my(...)) forcing lvalue cx
A simple my($foo,$bar) list is flagged as an lvalue:
$ ./perl -Ilib -MO=Concise -e 'my($foo,$bar)'
7 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
6 <@> list vKPM/128 ->7
3 <0> pushmark vM/128 ->4
4 <0> padsv[$foo:1,2] vM/LVINTRO ->5
5 <0> padsv[$bar:1,2] vM/LVINTRO ->6
-e syntax OK
That 128 that the list op is the same flag as LVINTRO.
When a method call is compiled, the list op for the argument list is
itself converted into an entersub op. That LVINTRO flag is never
turned off. So foo->bar(my($foo,$bar)) becomes this:
$ ./perl -Ilib -MO=Concise -e 'foo->bar(my($foo,$bar))'
9 <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 1 -e:1) v:{ ->3
8 <1> entersub[t4] vKMS/LVINTRO,TARG ->9
3 <0> pushmark sM/128 ->4
4 <$> const[PV "foo"] sM/BARE ->5
5 <0> padsv[$foo:1,2] lM/LVINTRO ->6
6 <0> padsv[$bar:1,2] lM/LVINTRO ->7
7 <$> method_named[PV "bar"] ->8
-e syntax OK
This was rarely a problem until commit
da1dff948 added lvalue check-
ing for method calls (a fifth bug fix in that commit not mentioned in
the commit message).
Calling the method will now result in ‘Can't modify non-lvalue subrou-
tine call’ unless the method has the :lvalue attribute.
Before that, this would only cause problems with lvalue methods:
$ perl -le '
sub clear_queue:lvalue { warn "called"; undef }
3==main->clear_queue(my ($id, $name))
'
called at -e line 2.
Can't return undef from lvalue subroutine at -e line 3.
Calling it with ($id, $name) was fine, and allowed undef to
be returned.
Perl_localize in op.c (which is called for my, our and local)
calls my() (aka Perl_my_attrs) on the list itself for my or our.
Perl_my_attrs was setting flags on the list, not just on its children.
So this commit modifies my_attrs not to set any flags on the list
op itself.
local() was not affected, as it goes through op_lvalue_flags instead
of my_attrs, and op_lvalue_flags doesn’t set flags on list ops (I
mean ops of type OP_LIST, not listops in general). I added tests for
it anyway.
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 00:24:18 +0000 (00:24 +0000)]
Update IO-Compress to CPAN version 2.047
[DELTA]
2.047 28 January 2012
* Set minimum Perl version to 5.6
* IO::Compress::Zip
- In one-shot zip, set the Text Flag if "-T" thinks the file is a
text file.
- In one-shot mode, wrote mod time & access time in wrong order
in the "UT" extended field.
Chris 'BinGOs' Williams [Sun, 29 Jan 2012 00:01:04 +0000 (00:01 +0000)]
Update Compress-Raw-Zlib to CPAN version 2.047
[DELTA]
2.047 28 January 2012
* Allow flush to be called multiple times without any intermediate
call to deflate and still return Z_OK.
In the code below $status was Z_BUF_ERROR before this change.
$def->flush(...);
$status = $def->flush(...);
* Added support for zlibCompileFlags
* Set minimum Perl version to 5.6
Chris 'BinGOs' Williams [Sat, 28 Jan 2012 23:56:05 +0000 (23:56 +0000)]
Update Compress-Raw-Bzip2 to CPAN version 2.047
[DELTA]
2.047 28 January 2012
* Set minimum Perl version to 5.6
Craig A. Berry [Sat, 28 Jan 2012 23:05:35 +0000 (17:05 -0600)]
Trim directory extension in pathify under EFS.
When Extened Filename Syntax (EFS) is in effect,
1fe570cc5e24ee
changed the age-old behavior of trimming the directory extension
off a directory filename when the path is in Unix syntax. EFS
really has nothing to do with the necessity to trim .DIR;1 from
the name, so remove the conditional check for EFS from the
existing code.
This gets three more tests passing under EFS in vms/ext/filespec.t.
Yves Orton [Sat, 28 Jan 2012 23:06:23 +0000 (00:06 +0100)]
Fix bug #109206: ANCH_MBOL with while /.*/g
We had a fencepost error when ANCH_MBOL was enabled that meant we
did not "see" matches at the end of string. This fixes the problem
and adds tests.
Yves Orton [Sat, 28 Jan 2012 23:04:20 +0000 (00:04 +0100)]
accidentally used my work email for a commit so add it to checkAuthors.pl
Yves Orton [Sat, 28 Jan 2012 22:23:07 +0000 (23:23 +0100)]
fix variable not shared warnings coming from the use statement being executed too early
Father Chrysostomos [Sat, 28 Jan 2012 20:14:12 +0000 (12:14 -0800)]
Increase $subs::VERSION to 1.01
Father Chrysostomos [Sat, 28 Jan 2012 20:13:32 +0000 (12:13 -0800)]
checkAUTHORS.pl: Add another (old?) address for Juerd
Juerd Waalboer [Sat, 28 Jan 2012 20:11:17 +0000 (12:11 -0800)]
[perl #21396] documentation error in subs.pm
Craig A. Berry [Sat, 28 Jan 2012 16:55:55 +0000 (10:55 -0600)]
Adjust skip counts in t/op/filetest_t.t.
Follow-up to
8db8f6b697e6f, where new tests were added without
changing the (implicit) skip count of 1.
Craig A. Berry [Sat, 28 Jan 2012 15:22:04 +0000 (09:22 -0600)]
Restore directory extension and version in fileify under EFS.
In
df2786654 and
8a5aa89570, the traditional behavior of adding
the .DIR;1 onto a fileified directory spec was removed when
operating under Extended Filename Syntax. Various scary comments
were added about its being a bug to add a type and version onto
a Unix-style path, but actually the CRTL appears to be perfectly
happy with, for example:
stat('/foo/bar/baz.dir;1');
and without the extension, the home-grown rmdir() fails in the
case of a directory with no preceding path information. E.g.,
rmdir('foo');
was failing because there was no internal translation to foo.dir
before passing it to SYS$ERASE.
Moreover, even if there were something wrong with adding .DIR;1,
it has nothing to do with EFS.
Craig A. Berry [Sat, 28 Jan 2012 14:59:09 +0000 (08:59 -0600)]
filelify shouldn't always escape dots.
Follow-up to
a9fac63d75d9222a73fbf511ca58ae1d66cbf9a7. It turns
out that the CRTL doesn't handle the escapes when the path is in
Unix syntax (even though it requires them in native syntax).
stat('foo/bar.baz.dir;1')
is ok, but
stat('foo/bar^.baz.dir;1')
fails. So skip the escaping if there is a slash anywhere in the
path.
Steffen Mueller [Sat, 28 Jan 2012 11:49:49 +0000 (12:49 +0100)]
ExtUtils::ParseXS: Changelog, version bump for dev release
Upgrade the version in ExtUtils::ParseXS to 3.13_01 for a development
release.
H.Merijn Brand [Fri, 27 Jan 2012 15:09:31 +0000 (16:09 +0100)]
mymalloc isn't thread safe (rurban)
Rafael Garcia-Suarez [Fri, 27 Jan 2012 09:23:12 +0000 (10:23 +0100)]
Allow prototypes (_@) and (_%)
Those will be equivalent to (_;@) and (_;%) ; since perlsub already
states that the semicolon is redundant before @ and % this is in
line with the existing documentation.
Rafael Garcia-Suarez [Fri, 27 Jan 2012 08:59:54 +0000 (09:59 +0100)]
Show test names in output
Father Chrysostomos [Fri, 27 Jan 2012 06:29:42 +0000 (22:29 -0800)]
Make blead upstream for warnings.pm
This isn’t even a dual-life module. Why it has its own entry I don’t
know; but in any case it has to have blead for upstream, otherwise
cmp_version.t skips it.
Father Chrysostomos [Fri, 27 Jan 2012 04:45:28 +0000 (20:45 -0800)]
Increase $warnings::VERSION to 1.13
Father Chrysostomos [Fri, 27 Jan 2012 04:43:17 +0000 (20:43 -0800)]
Allow ${^WARNING_BITS} to turn off lexical warnings
Various magical modules copy hints from one scope to another. But
copying ${^WARNING_BITS} doesn’t always copy the same hints. If lexi-
cal warnings are not on at all, ${^WARNING_BITS} returns a different
value depending on the current value of $^W. Setting ${^WARNING_BITS}
to its own value when $^W is true will stop $^W from being able to
control the warnings in the current compilation scope. Setting
${^WARNING_BITS} to its own value when $^W is false causes even
default warnings to be suppressed.
This commit makes undef a special value that represents the default
state, in which $^W controls warnings.
Father Chrysostomos [Fri, 27 Jan 2012 00:31:53 +0000 (16:31 -0800)]
pat.t: Test that . overloading gets passed qr ref
This is something that my sample patch in ticked #108780 (for
fixing /foo$qr/ under ‘no overloading’) would have broken had it
been applied.
Rainer Tammer [Thu, 26 Jan 2012 17:35:08 +0000 (09:35 -0800)]
stat.t: Skip test when running as root
Nicholas Clark [Wed, 25 Jan 2012 14:30:05 +0000 (15:30 +0100)]
Bump $Unicode::UCD::VERSION after commit
c3e5bc54acca7110.
Andy Dougherty [Wed, 25 Jan 2012 13:53:07 +0000 (08:53 -0500)]
Update list of files for a minimal installation in INSTALL.
Update the minimal list of files for 5.15.7, and also for Debian's
perl-5.10.1 base package (which is what is in the Debian stable
distribution at present). These lists do not include any explicit advice
about what to name those stripped down installations.
Rafael Garcia-Suarez [Wed, 25 Jan 2012 11:45:25 +0000 (12:45 +0100)]
Correctly escape UTF-8 in hash keys in uninitialized warnings
Rafael Garcia-Suarez [Wed, 25 Jan 2012 11:34:17 +0000 (12:34 +0100)]
Initialize buffer to an empty string to avoid spurious uninitialized warnings
Chris 'BinGOs' Williams [Wed, 25 Jan 2012 11:06:04 +0000 (11:06 +0000)]
Update known_pod_issues.dat for x2p/psed
Chris 'BinGOs' Williams [Wed, 25 Jan 2012 10:59:28 +0000 (10:59 +0000)]
Fix pod error in Unicode::UCD
Chris 'BinGOs' Williams [Wed, 25 Jan 2012 09:39:20 +0000 (09:39 +0000)]
Update DB_File to CPAN version 1.826
[DELTA]
1.826 25 Jan 2012
* t/db-btree.t - fix use of "length @array"
[RT ##74336]
Chris 'BinGOs' Williams [Wed, 25 Jan 2012 09:30:27 +0000 (09:30 +0000)]
Revert "Regen known_pod_issues.dat"
This reverts commit
5fa409a90f64110c5708f7141b376e9bdc54fbe2.
Resolved by update of Pod-Parser to version 1.51
Chris 'BinGOs' Williams [Wed, 25 Jan 2012 09:26:18 +0000 (09:26 +0000)]
Update Pod-Parser to CPAN version 1.51
[DELTA]
25-Jan-2012 Marek Rouchal <marekr@cpan.org>
-----------------------------------------------------------------------------
Version 1.51
+ CPAN#74271: Pod::Parser should not flag L<text|hyperlink>
undo change CPAN#47473: L<alt text|URL> _is_ allowed (see discussion on
pod-people and p5p); confirmed by blead change; references:
http://code.activestate.com/lists/perl-pod-people/1690/
http://code.activestate.com/lists/perl-pod-people/1393/
http://perl5.git.perl.org/perl.git/commit/
f6e963e4dd62b8e3c01b31f4a4dd57e47e104997
+ bump all module versions (except Pod::PlainText) to 1.51
+ update META.yml (thanks rjbs for the hint)
Rafael Garcia-Suarez [Wed, 25 Jan 2012 10:41:13 +0000 (11:41 +0100)]
Make the display of the warning "Useless use of a constant (%s)" more robust
If the constant is a string (POK), we dump it using pv_pretty, to
properly escape non-printable characters. This also improves detection
of utf-8 encoding in the constant to be printed. Also, this patch
streamlines the tests for the type and value of that constant.
Potential backwards-compatibility issues : if the constant is a string
it will now be enclosed in double quotes, like this :
Useless use of a constant ("a") in void context
instead of
Useless use of a constant (a) in void context
Reini Urban [Tue, 12 Apr 2011 10:19:36 +0000 (12:19 +0200)]
CYG17 utf8 paths
Use cygwin_conv_path since cygwin-1.7 and support native utf-8 paths.
Chris 'BinGOs' Williams [Tue, 24 Jan 2012 22:46:59 +0000 (22:46 +0000)]
Update DB_File to CPAN version 1.825
[DELTA]
1.825 24 Jan 2012
* t/db-btree.t - fix use of "length @array"
[RT ##74336]
and [perl #108970]
Father Chrysostomos [Tue, 24 Jan 2012 20:33:49 +0000 (12:33 -0800)]
Increase $overload::VERSION to 1.18
Father Chrysostomos [Wed, 18 Jan 2012 21:03:32 +0000 (13:03 -0800)]
In overload::AddrRef, use ‘no overloading’
This speeds this up by about 13 times.
Father Chrysostomos [Tue, 24 Jan 2012 18:24:21 +0000 (10:24 -0800)]
[perl #108780] Make ‘no overloading’ work with qr//
Traditionally, overload::StrVal(qr//) has returned
Regexp=SCALAR(0xc0ffee), and later Regexp=REGEXP(0xc0c0a) when regexps
were made into first-class SVs.
When the overloading pragma was added in 5.10.1, qr// things were not
accounted for, so they would still stringify as (?-xism:) even with
‘no overloading’ (or as (?^:) under 5.14).
This commit makes the overloading pragma work with qr// things, so
that they stringify the same way as overload::StrVal; i.e., as
Regexp=REGEXP(0xbe600d).
Father Chrysostomos [Tue, 24 Jan 2012 17:46:11 +0000 (09:46 -0800)]
Move amagic hint checking to new function
so that stringification will be able to use it, too.
Father Chrysostomos [Tue, 24 Jan 2012 17:23:02 +0000 (09:23 -0800)]
Call FETCH once for stacked filetest ops
Reini Urban [Tue, 24 Jan 2012 15:30:47 +0000 (09:30 -0600)]
skip sigdispatch.t on cygwin RT#88814
Father Chrysostomos [Tue, 24 Jan 2012 07:36:29 +0000 (23:36 -0800)]
[perl #77388] Make stacked -t work
Up till now, -t was popping too much off the stack when stacked with
other filetest operators.
Since the special use of _ doesn’t apply to -t, we cannot simply have
it use _ when stacked, but instead we pass the argument down from the
previous op.
To facilitate this, the whole stacked mechanism has to change.
As before, in an expression like -r -w -x, -x and -w are flagged
as ‘stacking’ ops (followed by another filetest), and -w and -r are
flagged as stacked (preceded by another filetest).
Stacking filetest ops no longer return a false value to the next op
when a test fails, and stacked ops no longer check the truth of the
value on the stack to determine whether to return early (if it’s
false).
The argument to the first filetest is now passed from one op to
another. This is similar to the mechanism that overloaded objects
were already using. Now it applies to any argument.
Since it could be false, we cannot rely on the boolean value of the
stack item. So, stacking ops, when they return false, now traverse
the ->op_next pointers and find the op after the last stacked op.
That op is returned to the runloop. This short-circuiting is proba-
bly faster than calling every subsequent op (a separate function call
for each).
Filetest ops other than -t continue to use the last stat buffer when
stacked, so the argument on the stack is ignored.
But if the op is preceded by nothing other than -t (where preceded
means on the right, since the ops are evaluated right-to-left), it
*does* use the argument on the stack, since -t has not set the last
stat buffer.
The new OPpFT_AFTER_t flag indicates that a stacked op is preceded by
nothing other than -t.
In ‘-e -t foo’, the -e gets the flag, but not in ‘-e -t -r foo’,
because -r will have saved the stat buffer, so -e can just use that.
Father Chrysostomos [Tue, 24 Jan 2012 05:45:21 +0000 (21:45 -0800)]
[rt.cpan.org #74289] Don’t make *CORE::foo read-only
newATTRSUB requires the sub name to be passed to it wrapped up in
a const op.
Commit
8756617677dbd allowed it to accept a GV that way, since
S_maybe_add_coresub (in gv.c) needed to pass it an existing GV not in
the symbol table yet (to simplify code elsewhere).
This had the inadvertent side-effect of making the GV read-only, since
that’s what the check function for const ops does.
Even if we were to call this a feature, it wouldn’t make sense as
implemented, as GVs for non-ampable (&-able) subs like *CORE::chdir
were not being made read-only.
This commit adds a new flag to newATTRSUB, to allow a GV to be passed
as the o parameter, instead of an op. While this may look as though
it’s undoing the simplification in commit
8756617677dbd by adding
more code, the new code is still conceptually simpler and more
straightforward.
Since newATTRSUB is in the API, I had to add a new _flags variant.
(How did newATTRSUB get into the API to begin with?)
In adding a test, I also discovered that ‘used once’ warnings
were applying to these subs, which is obviously wrong. Commit
8756617677dbd caused that, too, as it was relying on the side-effect
of newATTRSUB doing a GV lookup.
This fixes that, too, by turning on the multi flag in
S_maybe_add_coresub.