Mercurial > vim
diff src/evalvars.c @ 20721:70d561931721 v8.2.0913
patch 8.2.0913: code for resetting v:register is duplicated
Commit: https://github.com/vim/vim/commit/439c036ed062de1c87cc7e3fe050a9569fb12089
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 6 15:58:03 2020 +0200
patch 8.2.0913: code for resetting v:register is duplicated
Problem: Code for resetting v:register is duplicated.
Solution: Add reset_reg_var().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 Jun 2020 16:00:04 +0200 |
parents | 8fa783f2c69c |
children | f4455c71a8aa |
line wrap: on
line diff
--- a/src/evalvars.c +++ b/src/evalvars.c @@ -244,7 +244,9 @@ evalvars_init(void) set_vim_var_nr(VV_ECHOSPACE, sc_col - 1); - set_reg_var(0); // default for v:register is not 0 but '"' + // Default for v:register is not 0 but '"'. This is adjusted once the + // clipboard has been setup by calling reset_reg_var(). + set_reg_var(0); } #if defined(EXITFREE) || defined(PROTO) @@ -2192,6 +2194,22 @@ set_argv_var(char **argv, int argc) } /* + * Reset v:register, taking the 'clipboard' setting into account. + */ + void +reset_reg_var(void) +{ + int regname = 0; + + // Adjust the register according to 'clipboard', so that when + // "unnamed" is present it becomes '*' or '+' instead of '"'. +#ifdef FEAT_CLIPBOARD + adjust_clip_reg(®name); +#endif + set_reg_var(regname); +} + +/* * Set v:register if needed. */ void