diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-12-23 14:18:16 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-12-23 14:45:55 -0800 |
commit | 1e6bda93199bc72086fd20f4dab89d46590b379a (patch) | |
tree | d3c9063779f46754f059847ce4708cd2dc3dad15 /embed.h | |
parent | f0cd42383d11de42b3b8137c27c960b257975418 (diff) | |
download | perl-1e6bda93199bc72086fd20f4dab89d46590b379a.tar.gz |
[perl #29070] Add vstring set-magic
Some operators, like pp_complement, assign their argument to TARG
(which copies vstring magic), modify it in place, and then call set-
magic. That’s supposed to work, but vstring magic was remaining as it
was, such that ~v7 would still be treated as "v7" by vstring-aware
code, even though the resulting string is not "\7".
This commit adds vstring set-magic that checks to see whether the pv
still matches the vstring. It cannot simply free the vstring magic,
as that would prevent $x=v0 from working.
Diffstat (limited to 'embed.h')
-rw-r--r-- | embed.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1125,6 +1125,7 @@ #define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b) #define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b) #define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b) +#define magic_setvstring(a,b) Perl_magic_setvstring(aTHX_ a,b) #define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b) #define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b) #define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c) |