aboutsummaryrefslogtreecommitdiff
path: root/vterm.el
diff options
context:
space:
mode:
authorjixiuf <jixiuf@qq.com>2020-12-02 01:17:18 +0800
committerjixiuf <jixiuf@qq.com>2020-12-04 23:15:08 +0800
commitf21d0dd1abc26ae447736c978cb2ea942627cd90 (patch)
tree4a8d0c8be68f18328d2383de2ddd9365d0e9c5d5 /vterm.el
parent47919818b8c129d6b96b60c1b7ca5a2127d34b99 (diff)
vterm-yank make sure yank at the right position and use vterm-insert
Diffstat (limited to 'vterm.el')
-rw-r--r--vterm.el12
1 files changed, 6 insertions, 6 deletions
diff --git a/vterm.el b/vterm.el
index ea0cedf..acbd502 100644
--- a/vterm.el
+++ b/vterm.el
@@ -918,18 +918,18 @@ prefix argument ARG or with \\[universal-argument]."
Argument ARG is passed to `yank'."
(interactive "P")
+ (vterm-goto-char (point))
(let ((inhibit-read-only t))
- (cl-letf (((symbol-function 'insert-for-yank)
- #'(lambda (str) (vterm-send-string str t))))
+ (cl-letf (((symbol-function 'insert) #'vterm-insert))
(yank arg))))
(defun vterm-yank-primary ()
"Yank text from the primary selection in vterm."
(interactive)
+ (vterm-goto-char (point))
(let ((inhibit-read-only t)
(primary (gui-get-primary-selection)))
- (cl-letf (((symbol-function 'insert-for-yank)
- #'(lambda (str) (vterm-send-string str t))))
+ (cl-letf (((symbol-function 'insert) #'vterm-insert))
(insert-for-yank primary))))
(defun vterm-yank-pop (&optional arg)
@@ -937,10 +937,10 @@ Argument ARG is passed to `yank'."
Argument ARG is passed to `yank'"
(interactive "p")
+ (vterm-goto-char (point))
(let ((inhibit-read-only t)
(yank-undo-function #'(lambda (_start _end) (vterm-undo))))
- (cl-letf (((symbol-function 'insert-for-yank)
- #'(lambda (str) (vterm-send-string str t))))
+ (cl-letf (((symbol-function 'insert) #'vterm-insert))
(yank-pop arg))))
(defun vterm-send-string (string &optional paste-p)