diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2007-07-16 13:15:37 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2007-07-16 13:15:37 +0000 |
commit | 503de4705ff6537018ae94e9179e16636748b2a6 (patch) | |
tree | d022d6d730a079eac8721ce355c9ae08c781a689 /parser.h | |
parent | 4629c4f60ec83d0f102cd8ac641c8eefa2bb4a6f (diff) | |
download | perl-503de4705ff6537018ae94e9179e16636748b2a6.tar.gz |
[perl #43425] local $[: fix scoping during parser error handling.
Change 22306# inadvertently made 'local $[' statement-scoped
rather than block-scoped; so revert that change and add a
different fix. The problem was to ensure that the savestack got
popped correctly while popping errored tokens. We how record the
current value of PL_savestack_ix with each pushed parser state.
p4raw-id: //depot/perl@31615
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -17,6 +17,7 @@ typedef struct { AV *comppad; /* value of PL_comppad when this value was created */ #ifdef DEBUGGING const char *name; /* token/rule name for -Dpv */ + I32 savestack_ix; /* size of savestack at this state */ #endif } yy_stack_frame; |