From 1d16646506ff7bc95d501deaee67740b08b218b5 Mon Sep 17 00:00:00 2001 From: Hiroshi Mimaki Date: Wed, 2 May 2018 20:52:02 +0900 Subject: Add `-d` option for `mruby` and `mirb`. --- mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'mrbgems/mruby-bin-mirb/tools/mirb/mirb.c') diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index a58a72e7d..5ea4df07e 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -54,6 +54,7 @@ #include #include #include +#include #ifdef ENABLE_READLINE @@ -219,6 +220,7 @@ is_code_block_open(struct mrb_parser_state *parser) struct _args { FILE *rfp; mrb_bool verbose : 1; + mrb_bool debug : 1; int argc; char** argv; }; @@ -228,6 +230,7 @@ usage(const char *name) { static const char *const usage_msg[] = { "switches:", + "-d Set $DEBUG to true (same as `mruby -d`)" "-v print version number, then run in verbose mode", "--verbose run in verbose mode", "--version print the version", @@ -254,6 +257,9 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args) item = argv[0] + 1; switch (*item++) { + case 'd': + args->debug = TRUE; + break; case 'v': if (!args->verbose) mrb_show_version(mrb); args->verbose = TRUE; @@ -413,6 +419,7 @@ main(int argc, char **argv) } } mrb_define_global_const(mrb, "ARGV", ARGV); + mrb_gv_set(mrb, mrb_intern_lit(mrb, "$DEBUG"), mrb_bool_value(args.debug)); #ifdef ENABLE_READLINE history_path = get_history_path(mrb); -- cgit v1.2.3