diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-10-26 14:28:32 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-10-26 14:28:32 +0200 |
commit | d99388ba8535a6fecf7d0bf7b982832c0b816062 (patch) | |
tree | 476c1942e2c2e604001ba712cfea4af8df49a0d4 /src/main.c | |
parent | 6ce650480844bfaa5410874416b4a2e15f40b870 (diff) | |
download | vim-d99388ba8535a6fecf7d0bf7b982832c0b816062.zip |
patch 8.0.1217: can't use remote eval to inspect vars in debug mode
Problem: Can't use remote eval to inspect vars in debug mode.
Solution: Don't discard the call stack in debug mode. (closes #2237, #2247)
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c index 0dad4d6a8..0283231b0 100644 --- a/src/main.c +++ b/src/main.c @@ -4180,11 +4180,12 @@ eval_client_expr_to_string(char_u *expr) char_u *res; int save_dbl = debug_break_level; int save_ro = redir_off; - void *fc; + void *fc = NULL; /* Evaluate the expression at the toplevel, don't use variables local to - * the calling function. */ - fc = clear_current_funccal(); + * the calling function. Except when in debug mode. */ + if (!debug_mode) + fc = clear_current_funccal(); /* Disable debugging, otherwise Vim hangs, waiting for "cont" to be * typed. */ @@ -4201,7 +4202,8 @@ eval_client_expr_to_string(char_u *expr) --emsg_silent; if (emsg_silent < 0) emsg_silent = 0; - restore_current_funccal(fc); + if (fc != NULL) + restore_current_funccal(fc); /* A client can tell us to redraw, but not to display the cursor, so do * that here. */ |