diff options
author | David Mitchell <davem@iabyn.com> | 2016-11-10 20:44:16 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-11-12 16:15:09 +0000 |
commit | 9a70c74b0f460b0c96e443ecdfcb551157e02b51 (patch) | |
tree | b7f59e9bc08d86ebb042c3980b31991777380d4e /sv.h | |
parent | 4c57ced57467061af9e672665cba30edd3391432 (diff) | |
download | perl-9a70c74b0f460b0c96e443ecdfcb551157e02b51.tar.gz |
remove DOES's usage of SvSCREAM
Currently the SvSCREAM flag is set on a temporary SV whose string value
is "isa", but where for the purposes of printing
Can't call method "XXX"
its name is treated as "DOES" rather than "isa".
Instead, set the temp SV's PVX buffer to point to a special static
string (PL_isa_DOES) whose value is "isa", but the where the error
reporting code can compare the address with PL_isa_DOES and if so, print
"DOES" instead.
This is to reduce the number of odd special cases for the SvSCREAM flag.
Diffstat (limited to 'sv.h')
-rw-r--r-- | sv.h | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -369,7 +369,7 @@ perform the upgrade if necessary. See C<L</svtype>>. #define SVp_IOK 0x00001000 /* has valid non-public integer value */ #define SVp_NOK 0x00002000 /* has valid non-public numeric value */ #define SVp_POK 0x00004000 /* has valid non-public pointer value */ -#define SVp_SCREAM 0x00008000 /* method name is DOES */ +#define SVp_SCREAM 0x00008000 /* currently unused on plain scalars */ #define SVphv_CLONEABLE SVp_SCREAM /* PVHV (stashes) clone its objects */ #define SVpgv_GP SVp_SCREAM /* GV has a valid GP */ #define SVprv_PCS_IMPORTED SVp_SCREAM /* RV is a proxy for a constant @@ -443,7 +443,6 @@ perform the upgrade if necessary. See C<L</svtype>>. SVf_POK, SVp_POK also set: 0x00004400 Normal - 0x0000C400 method name for DOES (SvSCREAM) 0x40004400 FBM compiled (SvVALID) 0x4000C400 *** Formerly used for pad names *** |