This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
call pp_glob() even when its being skipped
authorDavid Mitchell <davem@iabyn.com>
Fri, 31 Dec 2010 18:55:36 +0000 (18:55 +0000)
committerDavid Mitchell <davem@iabyn.com>
Sun, 2 Jan 2011 20:00:27 +0000 (20:00 +0000)
commitd1bea3d84afd8d32a236c8d800e5dfc0f837570e
tree7dab3aeb9baab81964b9a5e1de46c462327177e4
parentbd31915d33b7eefea64e1a3f2416f804acf79df2
call pp_glob() even when its being skipped

Currently when an external Perl glob function is used (which is most of
the time), the OP_GLOB op is removed and replaced with the pair:
    GV("CORE::GLOBAL::glob"), ENTERSUB.

This commit re-adds the OP_GLOB to the op tree, but with OPf_SPECIAL set;
and pp_glob() is updated to just return if OPf_SPECIAL is set.

Thus there's no change in outward functionality with this commit. However,
by always calling pp_glob(), it will allow us (in the next commit) to
handle iterator overloading consistently, regardless of whether the
internal globbing function is used or not.
op.c
op.h
pp_sys.c