Subject: [PATCH] Send text received by bracketed paste to process

From: Philipp Stephani <[email-masked]>
Date: Sun, 6 Nov 2016 19:43:05 +0100

From: Philipp Stephani <[email-masked]>

Fixes #24639

* term.el (term--xterm-paste): New function.
(term-raw-map): Use it.
(xterm--pasted-text): Declare function from xterm.el.
---
 lisp/term.el | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lisp/term.el b/lisp/term.el
index 993e580..18d6775 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -845,6 +845,7 @@ term-raw-map
     (define-key map [S-insert] 'term-paste)
     (define-key map [prior] 'term-send-prior)
     (define-key map [next] 'term-send-next)
+    (define-key map [xterm-paste] #'term--xterm-paste)
     map)
   "Keyboard map for sending characters directly to the inferior process.")
 
@@ -1211,6 +1212,13 @@ term-paste
   (interactive)
    (term-send-raw-string (current-kill 0)))
 
+(defun term--xterm-paste ()
+  "Insert the text pasted in an XTerm bracketed paste operation."
+  (interactive)
+  (term-send-raw-string (xterm--pasted-text)))
+
+(declare-function xterm--pasted-text "term/xterm" ())
+
 ;; Which would be better:  "\e[A" or "\eOA"? readline accepts either.
 ;; For my configuration it's definitely better \eOA but YMMV. -mm
 ;; For example: vi works with \eOA while elm wants \e[A ...
-- 
2.10.1