[perl #113016] Parse CORE::foo::bar as a bareword
CORE::print::foo was being parsed as CORE::print followed by
::foo, making it impossible to call a global override directly as
CORE::GLOBAL::uc().
The logic in toke.c that does the CORE:: special-casing was faulty.
This commit fixes it, by checking for a package separator after the
potential keyword.
That d = s part of the KEY_CORE case in yylex was added in perl 5.001
(
748a9306) but apparently wasn’t doing anything. That means I get to
move it before s+=2, now that I have a use for it.
I added the tests a little above the ‘Add new tests HERE’ label in
parser.t, to avoid conflicting with other patches I’m working on.