a96df64385 inadvertently changed it. do-file is how it has alwas been
interpreted, at least as far back as 5.000, as far as I can tell.
isnt $@, "scrimptious scrobblings", "It was interpreted as do-file";
}
+# do CORE () has always been do-file
+{
+ my $called;
+ sub CORE { $called .= "fungible" }
+ $@ = "scromptious scrimblings";
+ do CORE();
+ is $called, "fungible", "do CORE() calls &CORE";
+ isnt $@, "scromptious scrimblings", "It was interpreted as do-file";
+}
+
# do subname() and $subname() are no longer allowed
{
sub subname { fail('do subname('. ($_[0] || '') .') called') };
*PL_tokenbuf = '&';
d = scan_word(s, PL_tokenbuf + 1, sizeof PL_tokenbuf - 1,
1, &len);
- if (len && !keyword(PL_tokenbuf + 1, len, 0)) {
+ if (len && (len != 4 || strNE(PL_tokenbuf+1, "CORE"))
+ && !keyword(PL_tokenbuf + 1, len, 0)) {
d = SKIPSPACE1(d);
if (*d == '(') {
force_ident_maybe_lex('&');