diff options
| -rw-r--r-- | src/nvim/normal.c | 6 | ||||
| -rw-r--r-- | src/nvim/ops.c | 5 | 
2 files changed, 10 insertions, 1 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c index a5eb54bb68..95e1c3d113 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -2016,6 +2016,9 @@ do_mouse (        if (regname == '.')          insert_reg(regname, true);        else { +        if (regname == 0 && eval_has_provider("clipboard")) { +          regname = '*'; +        }          if ((State & REPLACE_FLAG) && !yank_register_mline(regname))            insert_reg(regname, true);          else { @@ -2279,6 +2282,9 @@ do_mouse (     * Middle mouse click: Put text before cursor.     */    if (which_button == MOUSE_MIDDLE) { +    if (regname == 0 && eval_has_provider("clipboard")) { +      regname = '*'; +    }      if (yank_register_mline(regname)) {        if (mouse_past_bottom)          dir = FORWARD; diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 063ad154f1..8a7ced138b 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -765,7 +765,10 @@ yankreg_T *get_yank_register(int regname, int mode)    if (mode == YREG_PASTE && get_clipboard(regname, ®, false)) {      // reg is set to clipboard contents.      return reg; -  } else if (mode != YREG_YANK && (regname == 0 || regname == '"') && y_previous != NULL) { +  } else if (mode != YREG_YANK +      && (regname == 0 || regname == '"' || regname == '*' || regname == '+') +      && y_previous != NULL) { +    // in case clipboard not available, paste from previous used register      return y_previous;    }  | 
