Add PL_subname to the save stack
authorPeter Martini <PeterCMartini@GMail.com>
Sun, 9 Sep 2012 14:45:11 +0000 (10:45 -0400)
committerJesse Luehrs <doy@tozt.net>
Wed, 12 Sep 2012 22:59:52 +0000 (17:59 -0500)
Otherwise, PL_subname is left as utf8::SWASHNEW after isIDFIRST_lazy_if
(etc) is called in UTF context

utf8.c

index dd103cd..bca9db6 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -3039,6 +3039,10 @@ Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 m
        if (!method) {  /* demand load utf8 */
            ENTER;
            errsv_save = newSVsv(ERRSV);
+           /* We might get here via a subroutine signature which uses a utf8
+            * parameter name, at which point PL_subname will have been set
+            * but not yet used. */
+           save_item(PL_subname);
            /* It is assumed that callers of this routine are not passing in
             * any user derived data.  */
            /* Need to do this after save_re_context() as it will set