This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fix parse error on C<{ use strict }> and other constructs that
[perl5.git] / toke.c
diff --git a/toke.c b/toke.c
index e1eb817..b9a12c4 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -376,6 +376,15 @@ Perl_lex_start(pTHX_ SV *line)
     SAVEI32(PL_lex_state);
     SAVEVPTR(PL_lex_inpat);
     SAVEI32(PL_lex_inwhat);
+    if (PL_lex_state == LEX_KNOWNEXT) {
+       I32 toke = PL_nexttoke;
+       while (--toke >= 0) {
+           SAVEI32(PL_nexttype[toke]);
+           SAVEVPTR(PL_nextval[toke]);
+       }
+       SAVEI32(PL_nexttoke);
+       PL_nexttoke = 0;
+    }
     SAVECOPLINE(PL_curcop);
     SAVEPPTR(PL_bufptr);
     SAVEPPTR(PL_bufend);