summaryrefslogtreecommitdiff
path: root/lib/B
Commit message (Collapse)AuthorAgeFilesLines
* lib/B/Deparse.t: TODO test for [perl #120950]Karl Williamson2014-01-091-3/+7
| | | | | | | | This moves a test to earlier in the file where it now fails, and makes it TODO. It also creates a copy just after the failure, this time without the TODO, to show that it is order dependent. This is in preparation for some commits that exposed this bug.
* Simplify code for deparsing socketpairFather Chrysostomos2013-11-111-2/+1
| | | | | Instead of fixing a typo programmatically, just spell it correctly to begin with. This should make things just slightly faster.
* Fix deparsing of glob(my $x) and CORE::globFather Chrysostomos2013-11-092-15/+15
| | | | | | | | | | | | | | | | | | | | | | | A git bisect run like this: $ ../perl.git/Porting/bisect.pl --start=v5.12.0 --end=v5.18.0 -e 'use B::Deparse; die if new B::Deparse->coderef2text(sub{glob my $x}) =~ /</' points to v5.13.8-86-gd1bea3d as being the commit that cause it to output <my $x>. But my local 5.14.4 installation still outputs glob(my $x), so I am not sure which commit is responsible. I suspect it changed multi- ple times. In any case, B::Deparse was expecting the argument to pp_glob always to be a string, which is certainly not guaranteed. This commit also causes CORE::glob to be deparsed correctly. glob is one of those oddities like require that gets only half-overridden by overrides. In this particular case the built-in pp_glob is still used, but takes a different code path depending on whether it was pre- fixed with CORE::. So, while glob is a strong keyword, it needs to be treated as a weak one for deparsing purposes.
* Increase $B::Deparse::VERSION to 1.24Father Chrysostomos2013-10-301-1/+1
|
* [perl #119807] Deparse s//\(3)/e in a way that does not warnFather Chrysostomos2013-10-302-3/+16
| | | | | | | | Code that does not warn should not be deparsed in a way that warns. s//\3/e produces a warning about misuse of \3 where $3 is meant. s//\(3)/e compiles to the same thing and produces no such warning. So B::Deparse should parenthesize references to numbers in the rhs of a substitution.
* Make B/Deparse handle unicode regexesDavid Mitchell2013-10-231-1/+8
| | | | | | [perl #120182] the precomp B::OP method was returning a non-UTF8 string even if the regex was utf8
* Move B-Deparse from dist/ to lib/ since it is non-dual-lived and pure-PerlSteve Hay2013-10-193-0/+7488
|
* Remove compiler files from their old lib/B locations. The compilerMalcolm Beattie1998-02-2018-5863/+0
| | | | | | now builds by default (without the byteperl executable so far) and seems to work at least minimally. p4raw-id: //depot/perl@565
* Start getting compiler to work when built with the core.Malcolm Beattie1998-02-2014-0/+5745
| | | | | [Still won't work as of this change.] p4raw-id: //depot/perl@563
* Merge perlext/Compiler/... into mainline. Some files move toMalcolm Beattie1998-02-204-0/+118
ext/B/..., some to lib/B/..., O.pm and B.pm go in lib and some move to the base perl directory (e.g. headers). Will need some cleaning up before it builds properly, I would guess. p4raw-id: //depot/perl@562