diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-09-01 11:42:47 -0400 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-09-01 08:42:47 -0700 |
commit | 57327bb48344ac981ca2df915d0d96230a4c1613 (patch) | |
tree | 400ee238a879242865a7ff7129beab03bdb0fe42 | |
parent | e29b89ca54e20b1f3430b43b1c57bd72ccadf954 (diff) | |
download | rneovim-57327bb48344ac981ca2df915d0d96230a4c1613.tar.gz rneovim-57327bb48344ac981ca2df915d0d96230a4c1613.tar.bz2 rneovim-57327bb48344ac981ca2df915d0d96230a4c1613.zip |
vim-patch:8.0.1217: remote eval to inspect vars in :debug #10903
Problem: Can't use remote eval to inspect vars in debug mode.
Solution: Don't discard the call stack in debug mode. (closes vim/vim#2237, vim/vim#2247)
https://github.com/vim/vim/commit/d99388ba8535a6fecf7d0bf7b982832c0b816062
-rw-r--r-- | src/nvim/ex_cmds2.c | 2 | ||||
-rw-r--r-- | src/nvim/globals.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index df23d0630a..691ad74100 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -159,6 +159,7 @@ void do_debug(char_u *cmd) redir_off = true; // don't redirect debug commands State = NORMAL; + debug_mode = true; if (!debug_did_msg) { MSG(_("Entering Debug mode. Type \"cont\" to continue.")); @@ -337,6 +338,7 @@ void do_debug(char_u *cmd) msg_scroll = save_msg_scroll; lines_left = (int)(Rows - 1); State = save_State; + debug_mode = false; did_emsg = save_did_emsg; cmd_silent = save_cmd_silent; msg_silent = save_msg_silent; diff --git a/src/nvim/globals.h b/src/nvim/globals.h index 82fc7c1218..ad321963fe 100644 --- a/src/nvim/globals.h +++ b/src/nvim/globals.h @@ -655,9 +655,10 @@ EXTERN char_u *fenc_default INIT(= NULL); /// finish_op : When State is NORMAL, after typing the operator and /// before typing the motion command. /// motion_force: Last motion_force from do_pending_operator() +/// debug_mode: Debug mode EXTERN int State INIT(= NORMAL); // This is the current state of the // command interpreter. - +EXTERN bool debug_mode INIT(= false); EXTERN bool finish_op INIT(= false); // true while an operator is pending EXTERN long opcount INIT(= 0); // count for pending operator EXTERN int motion_force INIT(=0); // motion force for pending operator |