]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.0913: code for resetting v:register is duplicated v8.2.0913
authorBram Moolenaar <Bram@vim.org>
Sat, 6 Jun 2020 13:58:03 +0000 (15:58 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 6 Jun 2020 13:58:03 +0000 (15:58 +0200)
Problem:    Code for resetting v:register is duplicated.
Solution:   Add reset_reg_var().

src/evalvars.c
src/main.c
src/normal.c
src/proto/evalvars.pro
src/version.c

index e7a1b6d7cecde44617bbd92e5d56d80140e7304f..8b3ce2e9035267a941d213bb79db10d30b63ee4a 100644 (file)
@@ -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)
@@ -2191,6 +2193,22 @@ set_argv_var(char **argv, int argc)
     set_vim_var_list(VV_ARGV, l);
 }
 
+/*
+ * 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(&regname);
+#endif
+    set_reg_var(regname);
+}
+
 /*
  * Set v:register if needed.
  */
index 201ed372117794c5356c14a93754e5113eb6dcc9..d66cd0c88904ec409884b949d2a3e25a8852aa28 100644 (file)
@@ -826,12 +826,7 @@ vim_main2(void)
     // done after the clipboard is available and all initial commands that may
     // modify the 'clipboard' setting have run; i.e. just before entering the
     // main loop.
-    {
-       int default_regname = 0;
-
-       adjust_clip_reg(&default_regname);
-       set_reg_var(default_regname);
-    }
+    reset_reg_var();
 #endif
 
 #if defined(FEAT_DIFF)
index f4001411db14b55df3ac92f3009b73c9f5ff73c5..e3523546b91826685521147d841cc8df4094d8cf 100644 (file)
@@ -1080,16 +1080,7 @@ getcount:
     {
        clearop(oap);
 #ifdef FEAT_EVAL
-       {
-           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(&regname);
-# endif
-           set_reg_var(regname);
-       }
+       reset_reg_var();
 #endif
     }
 
index 0d2e7b40d0769e0085b8f581f14010195fe087bb..97641b5ab81ac74fbcb6c6ade1b82a3fba7f9116 100644 (file)
@@ -46,6 +46,7 @@ void set_vim_var_string(int idx, char_u *val, int len);
 void set_vim_var_list(int idx, list_T *val);
 void set_vim_var_dict(int idx, dict_T *val);
 void set_argv_var(char **argv, int argc);
+void reset_reg_var(void);
 void set_reg_var(int c);
 char_u *v_exception(char_u *oldval);
 char_u *v_throwpoint(char_u *oldval);
index ea3f6a4e1cb8d7be8e97bd3c0e366dd5c0983684..2b9bd7732c541194bcb736a38cd97c71b7b036e5 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    913,
 /**/
     912,
 /**/