summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-02-19 20:44:16 +0900
committerGitHub <[email protected]>2019-02-19 20:44:16 +0900
commitbaf8fbe6edf8464e86523ee5753aa20717e9d8b3 (patch)
tree2ea29c94dac1b0ea2aa618665c629a4697586fb0 /mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c
parent8781596c3595980adb605341a8f272f96253622d (diff)
parent477ffc747368f26ee90cb03fa69d23690298fc3d (diff)
downloadmruby-baf8fbe6edf8464e86523ee5753aa20717e9d8b3.tar.gz
mruby-baf8fbe6edf8464e86523ee5753aa20717e9d8b3.zip
Merge pull request #4286 from kimushu/mrdb-local-variables
mrdb: add "info locals" command
Diffstat (limited to 'mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c')
-rw-r--r--mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c
index c8700530f..f888d1430 100644
--- a/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c
+++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c
@@ -31,7 +31,7 @@ mrdb_check_syntax(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size
}
mrb_value
-mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t len, mrb_bool *exc)
+mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t len, mrb_bool *exc, int direct_eval)
{
void (*tmp)(struct mrb_state *, struct mrb_irep *, mrb_code *, mrb_value *);
mrb_value ruby_code;
@@ -48,6 +48,11 @@ mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t
v = mrb_obj_value(mrb->exc);
mrb->exc = 0;
}
+ else if (direct_eval) {
+ recv = dbg->regs[0];
+
+ v = mrb_funcall(mrb, recv, expr, 0);
+ }
else {
/*
* begin