changeset 11033:8d2f156b72ff

(term-mouse-paste): Make work for xemacs. Minor GNU emacs fixes.
author Per Bothner <bothner@cygnus.com>
date Thu, 16 Mar 1995 02:23:24 +0000
parents 4b411b6a4e70
children 27df51bcb4b0
files lisp/term.el
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/term.el	Thu Mar 16 01:24:19 1995 +0000
+++ b/lisp/term.el	Thu Mar 16 02:23:24 1995 +0000
@@ -670,12 +670,18 @@
 (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"))