if not defined(&Thread::join) and defined(&__PACKAGE__::lock), 'lock'
is recognized as a sub, a regular keyword otherwise. Could be
generalized by storing a flag for every op in OP struct, and turning
the flag off when Thread.xs loads.
p4raw-id: //depot/win32/perl@225
(gv = *gvp) != (GV*)&sv_undef &&
GvCVu(gv) && GvIMPORTED_CV(gv))))
{
- tmp = 0;
+ tmp = 0; /* overridden by importation */
+ }
+ else if (gv && !gvp
+ && -tmp==KEY_lock /* XXX generalizable kludge */
+ && !gv_fetchpv("Thread::join",FALSE,SVt_PVCV))
+ {
+ tmp = 0; /* any sub overrides "weak" keyword */
}
else {
tmp = -tmp; gv = Nullgv; gvp = 0;