From 2bf4952284b6b7cfac2b4bd91d459fc94f1ece91 Mon Sep 17 00:00:00 2001 From: Jack Danger Canty Date: Tue, 13 Aug 2013 09:50:38 -0700 Subject: Adding line numbers to the output of mirb. Before: > "hi" hi > d (mirb):1: undefined method 'd' for main (NoMethodError) > d (mirb):1: undefined method 'd' for main (NoMethodError) > "hi" hi > "#{'}" line 1: unterminated string meets end of file After > "hi" hi > d (mirb):2: undefined method 'd' for main (NoMethodError) > d (mirb):3: undefined method 'd' for main (NoMethodError) > "hi" hi > "#{'}" line 5: unterminated string meets end of file --- mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-bin-mirb/tools') diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index ecb65eecc..1c746db21 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -275,6 +275,7 @@ main(int argc, char **argv) cxt = mrbc_context_new(mrb); cxt->capture_errors = 1; + cxt->lineno = 1; mrbc_filename(mrb, cxt, "(mirb)"); if (args.verbose) cxt->dump_result = 1; @@ -346,7 +347,7 @@ main(int argc, char **argv) parser = mrb_parser_new(mrb); parser->s = ruby_code; parser->send = ruby_code + strlen(ruby_code); - parser->lineno = 1; + parser->lineno = cxt->lineno; mrb_parser_parse(parser, cxt); code_block_open = is_code_block_open(parser); @@ -385,6 +386,7 @@ main(int argc, char **argv) mrb_gc_arena_restore(mrb, ai); } mrb_parser_free(parser); + cxt->lineno++; } mrbc_context_free(mrb, cxt); mrb_close(mrb); -- cgit v1.2.3