aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBohan Li <bohanli@google.com>2021-01-20 15:13:53 -0800
committerBohan Li <bohanli@google.com>2021-01-20 15:13:53 -0800
commitbd04098d52ef7c98f4b51e63e2599327b0ef30e8 (patch)
tree4e0b0d58556ad15f8a7d2d3beb1363649d358d9c
parent9d2ef5e535e79781a0c1d2523f82d096eb48765f (diff)
Fix xterm-paste in vterm.
Vterm-yank does not copy from the system clipboard that is supported via xterm.el. This patch fixes it.
-rw-r--r--vterm.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/vterm.el b/vterm.el
index 3ea54bd..b03358c 100644
--- a/vterm.el
+++ b/vterm.el
@@ -537,6 +537,14 @@ Exceptions are defined by `vterm-keymap-exceptions'."
unless (member key exceptions)
collect key))))
+(defun vterm-xterm-paste (event)
+ "Handle xterm paste EVENT in vterm."
+ (interactive "e")
+ (with-temp-buffer
+ (xterm-paste event)
+ (kill-new (buffer-string)))
+ (vterm-yank))
+
(defvar vterm-mode-map
(let ((map (make-sparse-keymap)))
(vterm--exclude-keys map vterm-keymap-exceptions)
@@ -574,7 +582,7 @@ Exceptions are defined by `vterm-keymap-exceptions'."
(define-key map [C-end] #'vterm--self-insert)
(define-key map [escape] #'vterm--self-insert)
(define-key map [remap yank] #'vterm-yank)
- (define-key map [remap xterm-paste] #'vterm-yank)
+ (define-key map [remap xterm-paste] #'vterm-xterm-paste)
(define-key map [remap yank-pop] #'vterm-yank-pop)
(define-key map [remap mouse-yank-primary] #'vterm-yank-primary)
(define-key map (kbd "C-SPC") #'vterm--self-insert)