summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y5
1 files changed, 4 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index 463b77e993..ad4c8c3c6b 100644
--- a/parse.y
+++ b/parse.y
@@ -4814,8 +4814,10 @@ token_info_has_nonspaces(struct parser_params *parser, const char *token)
static void
token_info_push(struct parser_params *parser, const char *token)
{
- token_info *ptinfo = ALLOC(token_info);
+ token_info *ptinfo;
+ if (compile_for_eval) return;
+ ptinfo = ALLOC(token_info);
ptinfo->token = token;
ptinfo->linenum = ruby_sourceline;
ptinfo->column = token_info_get_column(parser, token);
@@ -4831,6 +4833,7 @@ token_info_pop(struct parser_params *parser, const char *token)
int linenum;
token_info *ptinfo = parser->parser_token_info;
+ if (!ptinfo) return;
parser->parser_token_info = ptinfo->next;
if (token_info_get_column(parser, token) == ptinfo->column) { /* OK */
goto finish;