bizarre behavior with sort and CORE::fake #14323
Comments
From @rjbsCreated by @rjbs ~$ perl -MO=Deparse -E'sort CORE::abc_def("*")' ~$ perl -MO=Deparse -E'sort CORE::abc_def_ghi("*")' Woah. 11:51 <ilmari> it's chopping length("CORE::") off the wrong end? This isn't just Deparse. ~$ perl -E'use Data::Dumper; warn Dumper [sort CORE::abc_def("*")]' Bug appears in v5.20, not in v5.18. Perl Info
|
From @wolfsageOn Thu, Dec 11, 2014 at 11:55 AM, Ricardo SIGNES
Looks like this broke between 5.19.0 and 5.19.1: /home/mhorsfall/dpppperls/default/perl-5.19.0/bin/perl5.19.0 /home/mhorsfall/dpppperls/default/perl-5.19.0/bin/perl5.19.0 '-Euse -- Matthew Horsfall (alh) |
The RT System itself - Status changed from 'new' to 'open' |
From @rjbs* "Matthew Horsfall (alh)" <wolfsage@gmail.com> [2014-12-11T12:00:01]
Unsurprisingly, it bisects to 01b5ef5 commit 01b5ef5 [perl #24482] Fix sort and require to treat CORE:: as keyword Looks like the code assumes that CORE::... is never bogus? -- |
From @cpansproutOn Thu Dec 11 10:45:12 2014, perl.p5p@rjbs.manxome.org wrote:
It adjusts the length by subtracting 6 (length("CORE::")) but does not set it back if it does not find a keyword. $ ./perl -Ilib -le 'sub C { $b <=> $a } print for sort CORE::f 1..10' How do we want this to behave? Normally require and sort treat a word as a bareword (and not a sub call) unless it is a keyword. It’s just that before 01b5ef5 CORE::lc was not treated as a keyword. If we have CORE::elsewhat should we revert to the previous behaviour of treating it as a bareword (a sub name)? Or should we explicitly forbid it the way we do with CORE::elsewhat elsewhere? Either way it’s going to croak, and the former is easier. (Also, I have my doubts as to whether croaking for CORE::thing in general is a wise decision, especially if core keywords are just special subroutines.) -- Father Chrysostomos |
From @cpansproutOn Thu Dec 11 17:55:48 2014, sprout wrote:
I went with the former in 487e470. -- Father Chrysostomos |
@cpansprout - Status changed from 'open' to 'pending release' |
From @khwilliamsonThanks for submitting this ticket The issue should be resolved with the release today of Perl v5.22, available at http://www.perl.org/get.html -- |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#123410 (status was 'resolved')
Searchable as RT123410$
The text was updated successfully, but these errors were encountered: