]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.445 v7.4.445
authorBram Moolenaar <Bram@vim.org>
Fri, 19 Sep 2014 11:46:52 +0000 (13:46 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 19 Sep 2014 11:46:52 +0000 (13:46 +0200)
Problem:    Clipboard may be cleared on startup.
Solution:   Set clip_did_set_selection to -1 during startup. (Christian
            Brabandt)

src/main.c
src/ui.c
src/version.c

index 73f6697ac63e496fb4af22bd59dc2502fa82d287..fe754958289fa68c0fd888cece0e9ff04bd863cd 100644 (file)
@@ -958,8 +958,17 @@ vim_main2(int argc UNUSED, char **argv UNUSED)
     if (p_im)
        need_start_insertmode = TRUE;
 
+#ifdef FEAT_CLIPBOARD
+    if (clip_unnamed)
+       /* do not overwrite system clipboard while starting up */
+       clip_did_set_selection = -1;
+#endif
 #ifdef FEAT_AUTOCMD
     apply_autocmds(EVENT_VIMENTER, NULL, NULL, FALSE, curbuf);
+# ifdef FEAT_CLIPBOARD
+    if (clip_did_set_selection < 0)
+       clip_did_set_selection = TRUE;
+# endif
     TIME_MSG("VimEnter autocommands");
 #endif
 
index 21d92f0b7ba5a52f89edf25bfbf230e6fb3e88a0..b268cd78d4b1c5513963f8465618493b6aa165d5 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -571,7 +571,7 @@ start_global_changes()
 {
     clip_unnamed_saved = clip_unnamed;
 
-    if (clip_did_set_selection)
+    if (clip_did_set_selection > 0)
     {
        clip_unnamed = FALSE;
        clip_did_set_selection = FALSE;
@@ -584,7 +584,7 @@ start_global_changes()
     void
 end_global_changes()
 {
-    if (!clip_did_set_selection)
+    if (clip_did_set_selection == FALSE)  /* not when -1 */
     {
        clip_did_set_selection = TRUE;
        clip_unnamed = clip_unnamed_saved;
index a66046a216ff1410848078f19c89e8074374eb8f..adff6dbd01367d5a715f34a9c4db7ec6ffa5f439 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    445,
 /**/
     444,
 /**/