summaryrefslogtreecommitdiff
path: root/lisp/term.el
diff options
context:
space:
mode:
authorPer Bothner <bothner@cygnus.com>1995-03-16 02:23:24 +0000
committerPer Bothner <bothner@cygnus.com>1995-03-16 02:23:24 +0000
commit04364e74b4e36ba6cefd5a244ad40e5b1eada494 (patch)
tree025df59b79772093242b773d033d463629f7f2fd /lisp/term.el
parentab4189851ada48fe8df5fba176c9492edd2a01db (diff)
downloademacs-04364e74b4e36ba6cefd5a244ad40e5b1eada494.tar.gz
(term-mouse-paste): Make work for xemacs. Minor GNU emacs fixes.
Diffstat (limited to 'lisp/term.el')
-rw-r--r--lisp/term.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/term.el b/lisp/term.el
index 8d0e15e09eb..e21b354a9dd 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -670,12 +670,18 @@ without any interpretation."
(defun term-mouse-paste (click arg)
"Insert the last stretch of killed text at the position clicked on."
(interactive "e\nP")
- (mouse-set-point click)
- (setq this-command 'yank)
- (term-send-raw-string (current-kill (cond
- ((listp arg) 0)
- ((eq arg '-) -1)
- (t (1- arg))))))
+ (term-if-xemacs
+ (term-send-raw-string (or (condition-case () (x-get-selection) (error ()))
+ (x-get-cutbuffer)
+ (error "No selection or cut buffer available"))))
+ (term-ifnot-xemacs
+ ;; Give temporary modes such as isearch a chance to turn off.
+ (run-hooks 'mouse-leave-buffer-hook)
+ (setq this-command 'yank)
+ (term-send-raw-string (current-kill (cond
+ ((listp arg) 0)
+ ((eq arg '-) -1)
+ (t (1- arg)))))))
;; Which would be better: "\e[A" or "\eOA"? readline accepts either.
(defun term-send-up () (interactive) (term-send-raw-string "\e[A"))