summaryrefslogtreecommitdiffstats
path: root/src/screen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-07-10 16:49:23 +0200
committerBram Moolenaar <Bram@vim.org>2012-07-10 16:49:23 +0200
commitc0885aad5c40ea04f4b6a2462602273e06467516 (patch)
treedb0c71077a37dc205dd17a6371d763688b30218e /src/screen.c
parentf65e5667dfd0281fa197638ab3361f0bc007fc14 (diff)
updated for version 7.3.597v7.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'.
Diffstat (limited to 'src/screen.c')
-rw-r--r--src/screen.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/screen.c b/src/screen.c
index 64d06ebe08..c9f447c9ca 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -519,8 +519,10 @@ update_screen(type)
# 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 @@ updateWindow(wp)
#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 @@ win_line(wp, lnum, startrow, endrow, nochange)
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 @@ screen_ins_lines(off, row, line_count, end, wp)
|| (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 @@ screen_del_lines(off, row, line_count, end, force, wp)
|| (wp != NULL && wp->w_width != Columns)
# endif
)
- clip_clear_selection();
+ clip_clear_selection(&clip_star);
else
clip_scroll_selection(line_count);
#endif