diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-20 06:53:42 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-20 06:53:42 +0000 |
commit | fbdc2bf5f70aa594eac63d27079708ae739a0481 (patch) | |
tree | 1d73a71b8e974f56b37654c8b00246fb93ed2181 /parse.y | |
parent | 30544883773f979b123ac9d00776cfcdf9c5c82c (diff) | |
download | ruby-fbdc2bf5f70aa594eac63d27079708ae739a0481.tar.gz |
* parse.y (lex_getline): should update ruby_debug_lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -4351,6 +4351,7 @@ yycompile(parser, f, line) ruby_current_node = 0; ruby_sourcefile = rb_source_filename(f); + ruby_sourceline = line - 1; n = yyparse((void*)parser); ruby_debug_lines = 0; compile_for_eval = 0; @@ -4402,7 +4403,11 @@ static VALUE lex_getline(parser) struct parser_params *parser; { - return (*parser->parser_lex_gets)(parser, parser->parser_lex_input); + VALUE line = (*parser->parser_lex_gets)(parser, parser->parser_lex_input); + if (ruby_debug_lines && !NIL_P(line)) { + rb_ary_push(ruby_debug_lines, line); + } + return line; } #ifndef RIPPER @@ -4419,7 +4424,6 @@ rb_compile_string(f, s, line) lex_gets_ptr = 0; lex_input = s; lex_pbeg = lex_p = lex_pend = 0; - ruby_sourceline = line - 1; compile_for_eval = ruby_in_eval; return yycompile(parser, f, line); @@ -4454,7 +4458,6 @@ rb_compile_file(f, file, start) lex_gets = lex_io_gets; lex_input = file; lex_pbeg = lex_p = lex_pend = 0; - ruby_sourceline = start - 1; return yycompile(parser, f, start); } |