X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=scope.h;h=bbb55628fe5ad1a7e819f8289a3bca97f4f29e0c;hb=8bbf3450a1ff0a3996dade29a4194cc0939d871f;hp=50b40faf7d719b4e1840a7bcd37529a549c7a310;hpb=58ed4fbe7c01c6db6f9e39be1bc81fb0854d3801;p=p5sagit%2Fp5-mst-13.2.git diff --git a/scope.h b/scope.h index 50b40fa..bbb5562 100644 --- a/scope.h +++ b/scope.h @@ -1,7 +1,7 @@ /* scope.h * * Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, by Larry Wall and others + * 2000, 2001, 2002, 2004, by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -152,14 +152,14 @@ Closing bracket on a callback. See C and L. #define SAVEOP() save_op() #define SAVEHINTS() \ - STMT_START { \ - if (PL_hints & HINT_LOCALIZE_HH) \ - save_hints(); \ - else { \ - SSCHECK(2); \ - SSPUSHINT(PL_hints); \ - SSPUSHINT(SAVEt_HINTS); \ - } \ + STMT_START { \ + SSCHECK(3); \ + if (PL_hints & HINT_LOCALIZE_HH) { \ + SSPUSHPTR(GvHV(PL_hintgv)); \ + GvHV(PL_hintgv) = newHVhv(GvHV(PL_hintgv)); \ + } \ + SSPUSHINT(PL_hints); \ + SSPUSHINT(SAVEt_HINTS); \ } STMT_END #define SAVECOMPPAD() \