This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
remove DOES's usage of SvSCREAM
authorDavid Mitchell <davem@iabyn.com>
Thu, 10 Nov 2016 20:44:16 +0000 (20:44 +0000)
committerDavid Mitchell <davem@iabyn.com>
Sat, 12 Nov 2016 16:15:09 +0000 (16:15 +0000)
commit9a70c74b0f460b0c96e443ecdfcb551157e02b51
treeb7f59e9bc08d86ebb042c3980b31991777380d4e
parent4c57ced57467061af9e672665cba30edd3391432
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.
pp_hot.c
sv.h
universal.c