Imprison at_tindex_nomg()
authorKarl Williamson <khw@cpan.org>
Sun, 20 Mar 2016 04:48:54 +0000 (22:48 -0600)
committerKarl Williamson <khw@cpan.org>
Sun, 20 Mar 2016 05:00:35 +0000 (23:00 -0600)
This name is controversial.  Use #ifdef's to keep it from being exposed
outside of the places that already use it.  And don't publicize that it
exists.

av.h
pod/perldelta.pod

diff --git a/av.h b/av.h
index 9b9b373..d6d2137 100644 (file)
--- a/av.h
+++ b/av.h
@@ -81,7 +81,14 @@ Same as C<av_top_index()>.
                         ? mg_size(MUTABLE_SV(av)) : AvFILLp(av))
 #define av_tindex(av)   av_top_index(av)
 
-#define av_tindex_nomg(av)  (__ASSERT_(SvTYPE(av) == SVt_PVAV) AvFILLp(av))
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+/* Note that it doesn't make sense to do this:
+ *      SvGETMAGIC(av); IV x = av_tindex_nomg(av);
+ * This name is controversial, and so is restricted by the #ifdef to the places
+ * it already occurs
+ */
+#   define av_tindex_nomg(av)  (__ASSERT_(SvTYPE(av) == SVt_PVAV) AvFILLp(av))
+#endif
 
 #define NEGATIVE_INDICES_VAR "NEGATIVE_INDICES"
 
index f672575..0f688c5 100644 (file)
@@ -186,18 +186,6 @@ possible confusion over which error variable to check.
 
 =back
 
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-New method C<av_tindex_nomg>. This is like C<av_tindex>, but does not
-handle magic. It's undocumented and not part of the official API for now --
-it may disappear if it turns out not to be a good idea.
-
-=back
-
 =head1 Selected Bug Fixes
 
 =over 4