patch 8.2.0913: code for resetting v:register is duplicated
Problem: Code for resetting v:register is duplicated.
Solution: Add reset_reg_var().
diff --git a/src/evalvars.c b/src/evalvars.c
index e7a1b6d..8b3ce2e 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -244,7 +244,9 @@
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 @@
}
/*
+ * 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