From 9480a184116d83ba311e6df99584dda71b111f7c Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 29 Sep 2008 16:02:58 +0000 Subject: * parse.y (token_info_push, token_info_pop): do nothing for evaled source. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'parse.y') 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; -- cgit v1.2.3