diff options
author | Yves Orton <demerphq@gmail.com> | 2023-03-04 14:19:25 +0100 |
---|---|---|
committer | Yves Orton <demerphq@gmail.com> | 2023-03-06 14:43:25 +0800 |
commit | 624f6f53b1081642aea65e1f3f172bcaad6c12c7 (patch) | |
tree | 4731cfddc244093185954ae3d891466d46319d99 /embed.h | |
parent | ad2d7a7b8430731f134374105121d039762c6f6c (diff) | |
download | perl-624f6f53b1081642aea65e1f3f172bcaad6c12c7.tar.gz |
scope.c - improved RCPV support, SAVERCPV SAVEFREERCPV
I misnamed some of the RCPV stuff when it was introduced. The macro
which I called SAVERCPVFREE should have been called SAVERCPV,
and there should also have been a SAVEFREERCPV macro.
Note the naming system for these functions is a bit confusing.
SAVEFREERCPV /just/ frees. SAVERCPV saves and restores (eg, its like
local). SAVEFREESV is an exception. :-( and it behaves like SAVERCPV.
See for instance SAVEPV or similar macros.
There also should have been RCPV_REFCNT_dec() and RCPV_REFCNT_inc()
macros.
There was also missing documentation. This patch should fix all of these
issues. Since this functionality has never been released in a production
perl it should be fine to do these renames, nothing out there should use
these macros yet.
I noticed these oversights while fixing Scope::Upper, see also:
https://github.com/Perl/perl5/issues/20861
https://rt.cpan.org/Ticket/Display.html?id=146897
Diffstat (limited to 'embed.h')
-rw-r--r-- | embed.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -553,6 +553,7 @@ # define save_delete(a,b,c) Perl_save_delete(aTHX_ a,b,c) # define save_destructor(a,b) Perl_save_destructor(aTHX_ a,b) # define save_destructor_x(a,b) Perl_save_destructor_x(aTHX_ a,b) +# define save_freercpv(a) Perl_save_freercpv(aTHX_ a) # define save_generic_pvref(a) Perl_save_generic_pvref(aTHX_ a) # define save_generic_svref(a) Perl_save_generic_svref(aTHX_ a) # define save_gp(a,b) Perl_save_gp(aTHX_ a,b) @@ -569,7 +570,7 @@ # define save_pushi32ptr(a,b,c) Perl_save_pushi32ptr(aTHX_ a,b,c) # define save_pushptr(a,b) Perl_save_pushptr(aTHX_ a,b) # define save_pushptrptr(a,b,c) Perl_save_pushptrptr(aTHX_ a,b,c) -# define save_rcpv_free(a) Perl_save_rcpv_free(aTHX_ a) +# define save_rcpv(a) Perl_save_rcpv(aTHX_ a) # define save_re_context() Perl_save_re_context(aTHX) # define save_scalar(a) Perl_save_scalar(aTHX_ a) # define save_set_svflags(a,b,c) Perl_save_set_svflags(aTHX_ a,b,c) |