Mercurial > emacs
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 ====================================================