summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mirb/tools
diff options
context:
space:
mode:
authorJack Danger Canty <[email protected]>2013-08-13 09:50:38 -0700
committerJack Danger Canty <[email protected]>2013-08-13 09:53:52 -0700
commit2bf4952284b6b7cfac2b4bd91d459fc94f1ece91 (patch)
tree0e00e1ac43a6e890eb1c3834da6b2d0b78ed97e7 /mrbgems/mruby-bin-mirb/tools
parent9827462e38f7dfb52e3d7bb61ef183e0cd9189ff (diff)
downloadmruby-2bf4952284b6b7cfac2b4bd91d459fc94f1ece91.tar.gz
mruby-2bf4952284b6b7cfac2b4bd91d459fc94f1ece91.zip
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
Diffstat (limited to 'mrbgems/mruby-bin-mirb/tools')
-rw-r--r--mrbgems/mruby-bin-mirb/tools/mirb/mirb.c4
1 files changed, 3 insertions, 1 deletions
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);