Mercurial > vim
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. |