# HG changeset patch # User Bram Moolenaar # Date 1640348103 -3600 # Node ID 71e6e67b289847cab8775918fbdff42b75c65c36 # Parent 8cf97ce864e8b762a708dcc878d1f49d8cfcb7d3 patch 8.2.3882: more duplicated code in f_getreginfo() Commit: https://github.com/vim/vim/commit/d3f00f54bf955bd01767db3a0af25866bc112ec7 Author: zeertzjq Date: Fri Dec 24 12:02:43 2021 +0000 patch 8.2.3882: more duplicated code in f_getreginfo() Problem: More duplicated code in f_getreginfo(). Solution: Also use getreg_get_regname(). (closes https://github.com/vim/vim/issues/9398) diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -4675,8 +4675,8 @@ f_getpos(typval_T *argvars, typval_T *re } /* - * 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 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 = (strregname == NULL ? '"' : *strregname); - if (regname == 0 || regname == '@') + regname = getreg_get_regname(argvars); + if (regname == 0) + return; + + if (regname == '@') regname = '"'; if (rettv_dict_alloc(rettv) == FAIL) diff --git a/src/version.c b/src/version.c --- 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,