comparison src/evalfunc.c @ 14004:e124262d435e v8.1.0020

patch 8.1.0020: cannot tell whether a register is executing or recording commit https://github.com/vim/vim/commit/0b6d911e5de1a1c10a23d4c2ee1b0275c474a2dd Author: Bram Moolenaar <Bram@vim.org> Date: Tue May 22 20:35:17 2018 +0200 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 #2745) Rename the global variables for consistency. Store the register name in reg_executing.
author Christian Brabandt <cb@256bit.org>
date Tue, 22 May 2018 20:45:05 +0200
parents 4a41a169e5ea
children dc67449d648c
comparison
equal deleted inserted replaced
14003:3965a5a6215e 14004:e124262d435e
304 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) 304 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
305 static void f_pyxeval(typval_T *argvars, typval_T *rettv); 305 static void f_pyxeval(typval_T *argvars, typval_T *rettv);
306 #endif 306 #endif
307 static void f_range(typval_T *argvars, typval_T *rettv); 307 static void f_range(typval_T *argvars, typval_T *rettv);
308 static void f_readfile(typval_T *argvars, typval_T *rettv); 308 static void f_readfile(typval_T *argvars, typval_T *rettv);
309 static void f_reg_executing(typval_T *argvars, typval_T *rettv);
310 static void f_reg_recording(typval_T *argvars, typval_T *rettv);
309 static void f_reltime(typval_T *argvars, typval_T *rettv); 311 static void f_reltime(typval_T *argvars, typval_T *rettv);
310 #ifdef FEAT_FLOAT 312 #ifdef FEAT_FLOAT
311 static void f_reltimefloat(typval_T *argvars, typval_T *rettv); 313 static void f_reltimefloat(typval_T *argvars, typval_T *rettv);
312 #endif 314 #endif
313 static void f_reltimestr(typval_T *argvars, typval_T *rettv); 315 static void f_reltimestr(typval_T *argvars, typval_T *rettv);
752 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) 754 #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3)
753 {"pyxeval", 1, 1, f_pyxeval}, 755 {"pyxeval", 1, 1, f_pyxeval},
754 #endif 756 #endif
755 {"range", 1, 3, f_range}, 757 {"range", 1, 3, f_range},
756 {"readfile", 1, 3, f_readfile}, 758 {"readfile", 1, 3, f_readfile},
759 {"reg_executing", 0, 0, f_reg_executing},
760 {"reg_recording", 0, 0, f_reg_recording},
757 {"reltime", 0, 2, f_reltime}, 761 {"reltime", 0, 2, f_reltime},
758 #ifdef FEAT_FLOAT 762 #ifdef FEAT_FLOAT
759 {"reltimefloat", 1, 1, f_reltimefloat}, 763 {"reltimefloat", 1, 1, f_reltimefloat},
760 #endif 764 #endif
761 {"reltimestr", 1, 1, f_reltimestr}, 765 {"reltimestr", 1, 1, f_reltimestr},
8695 8699
8696 vim_free(prev); 8700 vim_free(prev);
8697 fclose(fd); 8701 fclose(fd);
8698 } 8702 }
8699 8703
8704 static void
8705 return_register(int regname, typval_T *rettv)
8706 {
8707 char_u buf[2] = {0, 0};
8708
8709 buf[0] = (char_u)regname;
8710 rettv->v_type = VAR_STRING;
8711 rettv->vval.v_string = vim_strsave(buf);
8712 }
8713
8714 /*
8715 * "reg_executing()" function
8716 */
8717 static void
8718 f_reg_executing(typval_T *argvars UNUSED, typval_T *rettv)
8719 {
8720 return_register(reg_executing, rettv);
8721 }
8722
8723 /*
8724 * "reg_recording()" function
8725 */
8726 static void
8727 f_reg_recording(typval_T *argvars UNUSED, typval_T *rettv)
8728 {
8729 return_register(reg_recording, rettv);
8730 }
8731
8700 #if defined(FEAT_RELTIME) 8732 #if defined(FEAT_RELTIME)
8701 static int list2proftime(typval_T *arg, proftime_T *tm); 8733 static int list2proftime(typval_T *arg, proftime_T *tm);
8702 8734
8703 /* 8735 /*
8704 * Convert a List to proftime_T. 8736 * Convert a List to proftime_T.