From 5a95c143a534f0ecca8b533b0a40224bc3856811 Mon Sep 17 00:00:00 2001 From: Mike Williams Date: Mon, 15 Jul 2002 11:49:37 +0000 Subject: [PATCH] (mouse-sel-bindings): Save/restore interprogram cut/paste functions. --- lisp/ChangeLog | 7 +++++-- lisp/mouse-sel.el | 46 +++++++++++++++++++++++----------------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dc36784be61..e8f9e11a719 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,8 +1,11 @@ +2002-07-15 Mike Williams + + * mouse-sel.el (mouse-sel-bindings): Save/restore interprogram + cut/paste functions. + 2002-07-14 Mike Williams * mouse-sel.el (mouse-sel-bound-events): New constant. - (mouse-sel-save-original-bindings): New function. - (mouse-sel-restore-original-bindings): New function. (mouse-sel-bindings): Save/restore original mouse-bindings. 2002-07-13 Stefan Monnier diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el index 25fdc92b296..004b6cbf718 100644 --- a/lisp/mouse-sel.el +++ b/lisp/mouse-sel.el @@ -240,25 +240,6 @@ primary selection and region." [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 @@ primary selection and region." ((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 @@ primary selection and region." ((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 ==================================================== -- 2.39.5