diff options
author | zeertzjq <zeertzjq@outlook.com> | 2021-12-24 12:02:43 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-12-24 12:02:43 +0000 |
commit | d3f00f54bf955bd01767db3a0af25866bc112ec7 (patch) | |
tree | b3a60453c3b53097c22610869414876626f058d8 | |
parent | 6073f13f557c53928a2a9071495178599c38e798 (diff) | |
download | vim-git-d3f00f54bf955bd01767db3a0af25866bc112ec7.tar.gz |
patch 8.2.3882: more duplicated code in f_getreginfo()v8.2.3882
Problem: More duplicated code in f_getreginfo().
Solution: Also use getreg_get_regname(). (closes #9398)
-rw-r--r-- | src/evalfunc.c | 24 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 8 insertions, 18 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 2f7e4e7e5..778d16d77 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -4675,8 +4675,8 @@ f_getpos(typval_T *argvars, typval_T *rettv) } /* - * Common between getreg() and getregtype(): get the register name from the - * first argument. + * Common between getreg(), getreginfo() and getregtype(): get the register + * name from the first argument. * Returns zero on error. */ static int @@ -7821,7 +7821,6 @@ range_list_materialize(list_T *list) static void f_getreginfo(typval_T *argvars, typval_T *rettv) { - char_u *strregname; int regname; char_u buf[NUMBUFLEN + 2]; long reglen = 0; @@ -7831,22 +7830,11 @@ f_getreginfo(typval_T *argvars, typval_T *rettv) if (in_vim9script() && check_for_opt_string_arg(argvars, 0) == FAIL) return; - if (argvars[0].v_type != VAR_UNKNOWN) - { - strregname = tv_get_string_chk(&argvars[0]); - if (strregname == NULL) - return; - if (in_vim9script() && STRLEN(strregname) > 1) - { - semsg(_(e_register_name_must_be_one_char_str), strregname); - return; - } - } - else - strregname = get_vim_var_str(VV_REG); + regname = getreg_get_regname(argvars); + if (regname == 0) + return; - regname = (strregname == NULL ? '"' : *strregname); - if (regname == 0 || regname == '@') + if (regname == '@') regname = '"'; if (rettv_dict_alloc(rettv) == FAIL) diff --git a/src/version.c b/src/version.c index 9d6c0d9f7..a77aa046f 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3882, +/**/ 3881, /**/ 3880, |