changeset 46385:9ef1f4b9623a

(mouse-sel-bindings): Save/restore interprogram cut/paste functions.
author Mike Williams <mdub@bigfoot.com>
date Mon, 15 Jul 2002 11:48:44 +0000
parents ada0f3c60c22
children 6c0ac24c0b63
files lisp/mouse-sel.el
diffstat 1 files changed, 23 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mouse-sel.el	Mon Jul 15 09:47:14 2002 +0000
+++ b/lisp/mouse-sel.el	Mon Jul 15 11:48:44 2002 +0000
@@ -240,25 +240,6 @@
     [M-down-mouse-3] [M-mouse-3])
   "A list of events that mouse-sel binds.")
 
-(defun mouse-sel-save-original-bindings ()
-  "Save the current bindings for `mouse-sel-bound-events'."
-  (setq mouse-sel-original-bindings nil)
-  (mapc (function 
-         (lambda (event)
-           (setq mouse-sel-original-bindings
-                 (cons (cons event (lookup-key global-map event))
-                       mouse-sel-original-bindings))))
-        mouse-sel-bound-events))
-
-(defun mouse-sel-restore-original-bindings ()
-  "Restore the original bindings for `mouse-sel-bound-events'."
-  (mapc (function 
-         (lambda (binding)
-           (if (cdr binding)
-               (global-set-key (car binding) (cdr binding))
-             (global-unset-key (car binding)))))
-        mouse-sel-original-bindings))
-
 (defun mouse-sel-bindings (bind)
   (cond 
 
@@ -266,8 +247,18 @@
    ((and bind mouse-sel-default-bindings) 
 
     ;; Save original bindings
-    (mouse-sel-save-original-bindings)
-
+    (setq mouse-sel-original-bindings nil)
+    (mapc (function 
+           (lambda (event)
+             (setq mouse-sel-original-bindings
+                   (cons (cons event (lookup-key global-map event))
+                         mouse-sel-original-bindings))))
+          mouse-sel-bound-events)
+    (setq mouse-sel-original-interprogram-cut-function 
+          interprogram-cut-function
+          mouse-sel-original-interprogram-paste-function
+          interprogram-paste-function)
+    
     ;; Primary selection bindings.
     ;;
     ;; Bind keys to `ignore' instead of unsetting them because
@@ -295,8 +286,17 @@
    
    ((not bind)
     ;; Restore original bindings
-    (mouse-sel-restore-original-bindings))
-
+    (mapc (function 
+           (lambda (binding)
+             (if (cdr binding)
+                 (global-set-key (car binding) (cdr binding))
+               (global-unset-key (car binding)))))
+          mouse-sel-original-bindings)
+    (setq interprogram-cut-function 
+          mouse-sel-original-interprogram-cut-function
+          interprogram-paste-function
+          mouse-sel-original-interprogram-paste-function))
+   
    ))
 
 ;;=== Command Variable ====================================================