CORE::require was always parsed as require().
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 26 Sep 2005 14:04:21 +0000 (14:04 +0000)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Mon, 26 Sep 2005 14:04:21 +0000 (14:04 +0000)
commita72a1c8b669f627c80c2fa5d710eb7980a143476
tree2fe0a5115982a725a716eb6ec15b5aea105577a6
parent204b4d7f800e266ce239f9e434271307a9c45b3e
CORE::require was always parsed as require().
That's because require() isn't overridable at tokenizer-level
like other overridable built-ins, but is handled by the optree
builder. So, find a way to pass the information that require()
was written as CORE::require() to Perl_ck_require. This is
done by adding a new token type REQUIRE and by adding OPf_SPECIAL
to OP_REQUIRE when it's saw as CORE::require in the program text.
This fixes bug [perl #37274] The "CORE" in CORE::require is ignored.

p4raw-id: //depot/perl@25599
op.c
perly.act
perly.h
perly.tab
perly.y
toke.c