summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2023-03-04 14:19:25 +0100
committerYves Orton <demerphq@gmail.com>2023-03-06 14:43:25 +0800
commit624f6f53b1081642aea65e1f3f172bcaad6c12c7 (patch)
tree4731cfddc244093185954ae3d891466d46319d99 /embed.h
parentad2d7a7b8430731f134374105121d039762c6f6c (diff)
downloadperl-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.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/embed.h b/embed.h
index 9df1b9578d..cc31ad7031 100644
--- a/embed.h
+++ b/embed.h
@@ -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)