diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-29 16:02:58 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-29 16:02:58 +0000 |
| commit | e9009e58a15f8350322bd5be1584cbe6710319f6 (patch) | |
| tree | 10436e0300129fe4881f7a2f645023502c023a45 /parse.y | |
| parent | 8eae3bd79ad9dbfe8f6cc154accc3e7b25244457 (diff) | |
| download | ruby-e9009e58a15f8350322bd5be1584cbe6710319f6.tar.gz ruby-e9009e58a15f8350322bd5be1584cbe6710319f6.tar.xz ruby-e9009e58a15f8350322bd5be1584cbe6710319f6.zip | |
* parse.y (token_info_push, token_info_pop): do nothing for evaled
source.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
| -rw-r--r-- | parse.y | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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; |
