aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-05-26 19:39:38 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-05-26 20:24:11 -0400
commit21f160746a4b406f84311a64fff96c1bd52f23c9 (patch)
tree20b69ca7e01201f0a68d2a1d22db8a4377411cc0 /src/nvim/eval.c
parentfb4d5a184678ab231da20ef559c8e423dfa54d6e (diff)
downloadrneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.tar.gz
rneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.tar.bz2
rneovim-21f160746a4b406f84311a64fff96c1bd52f23c9.zip
vim-patch:8.1.0020: cannot tell whether a register is executing or recording
Problem: Cannot tell whether a register is being used for executing or recording. Solution: Add reg_executing() and reg_recording(). (Hirohito Higashi, closes vim/vim#2745) Rename the global variables for consistency. Store the register name in reg_executing. https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 1d15e04218..aa4a3da9e5 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -13556,6 +13556,26 @@ static void f_readfile(typval_T *argvars, typval_T *rettv, FunPtr fptr)
fclose(fd);
}
+static void return_register(int regname, typval_T *rettv)
+{
+ char_u buf[2] = {0, 0};
+
+ buf[0] = (char_u)regname;
+ rettv->v_type = VAR_STRING;
+ rettv->vval.v_string = vim_strsave(buf);
+}
+
+// "reg_executing()" function
+static void f_reg_executing(typval_T *argvars, typval_T *rettv, FunPtr fptr)
+{
+ return_register(reg_executing, rettv);
+}
+
+// "reg_recording()" function
+static void f_reg_recording(typval_T *argvars, typval_T *rettv, FunPtr fptr)
+{
+ return_register(reg_recording, rettv);
+}
/// list2proftime - convert a List to proftime_T
///