updated for version 7.3.597
Problem: 'clipboard' "autoselect" only applies to the * register. (Sergey
Vakulenko)
Solution: Make 'autoselect' work for the + register. (Christian Brabant)
Add the "autoselectplus" option in 'clipboard' and the "P" flag in
'guioptions'.
diff --git a/src/screen.c b/src/screen.c
index 64d06eb..c9f447c 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -519,8 +519,10 @@
# endif
# ifdef FEAT_CLIPBOARD
/* When Visual area changed, may have to update selection. */
- if (clip_star.available && clip_isautosel())
- clip_update_selection();
+ if (clip_star.available && clip_isautosel_star())
+ clip_update_selection(&clip_star);
+ if (clip_plus.available && clip_isautosel_plus())
+ clip_update_selection(&clip_plus);
# endif
#ifdef FEAT_GUI
/* Remove the cursor before starting to do anything, because
@@ -814,8 +816,10 @@
#ifdef FEAT_CLIPBOARD
/* When Visual area changed, may have to update selection. */
- if (clip_star.available && clip_isautosel())
- clip_update_selection();
+ if (clip_star.available && clip_isautosel_star())
+ clip_update_selection(&clip_star);
+ if (clip_plus.available && clip_isautosel_plus())
+ clip_update_selection(&clip_plus);
#endif
win_update(wp);
@@ -3000,7 +3004,10 @@
area_highlighting = TRUE;
attr = hl_attr(HLF_V);
#if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
- if (clip_star.available && !clip_star.owned && clip_isautosel())
+ if ((clip_star.available && !clip_star.owned
+ && clip_isautosel_star())
+ || (clip_plus.available && !clip_plus.owned
+ && clip_isautosel_plus()))
attr = hl_attr(HLF_VNC);
#endif
}
@@ -9060,7 +9067,7 @@
|| (wp != NULL && wp->w_width != Columns)
# endif
)
- clip_clear_selection();
+ clip_clear_selection(&clip_star);
else
clip_scroll_selection(-line_count);
#endif
@@ -9281,7 +9288,7 @@
|| (wp != NULL && wp->w_width != Columns)
# endif
)
- clip_clear_selection();
+ clip_clear_selection(&clip_star);
else
clip_scroll_selection(line_count);
#endif