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)
This commit is contained in:
@ -1402,12 +1402,13 @@ op_yank(oparg_T *oap, int deleting, int mess)
|
||||
|
||||
# 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 @@ op_yank(oparg_T *oap, int deleting, int mess)
|
||||
|
||||
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);
|
||||
|
||||
@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2562,
|
||||
/**/
|
||||
2561,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user