patch 8.2.2562: GUI: star register changed when 'clipboard is "unnamedplus"
Problem: GUI: star register changed when 'clipboard is "unnamedplus". (Ingo
Karkat)
Solution: Do not change the star register when 'clipboard' contains
"unnamedplus" and not "unnamed". (closes #1516)
diff --git a/src/register.c b/src/register.c
index 56b6cad..6ba4e89 100644
--- a/src/register.c
+++ b/src/register.c
@@ -1402,12 +1402,13 @@
# ifdef FEAT_X11
// If we were yanking to the '+' register, send result to selection.
- // Also copy to the '*' register, in case auto-select is off.
+ // Also copy to the '*' register, in case auto-select is off. But not when
+ // 'clipboard' has "unnamedplus" and not "unnamed".
if (clip_plus.available
&& (curr == &(y_regs[PLUS_REGISTER])
|| (!deleting && oap->regname == 0
&& ((clip_unnamed | clip_unnamed_saved) &
- CLIP_UNNAMED_PLUS))))
+ CLIP_UNNAMED_PLUS))))
{
if (curr != &(y_regs[PLUS_REGISTER]))
// Copy the text from register 0 to the clipboard register.
@@ -1415,8 +1416,11 @@
clip_own_selection(&clip_plus);
clip_gen_set_selection(&clip_plus);
- if (!clip_isautosel_star() && !clip_isautosel_plus()
- && !did_star && curr == &(y_regs[PLUS_REGISTER]))
+ if (!clip_isautosel_star()
+ && !clip_isautosel_plus()
+ && !((clip_unnamed | clip_unnamed_saved) == CLIP_UNNAMED_PLUS)
+ && !did_star
+ && curr == &(y_regs[PLUS_REGISTER]))
{
copy_yank_reg(&(y_regs[STAR_REGISTER]));
clip_own_selection(&clip_star);
diff --git a/src/version.c b/src/version.c
index 17cb8d9..c4859de 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2562,
+/**/
2561,
/**/
2560,