Mercurial > emacs
diff lisp/mouse-sel.el @ 89909:68c22ea6027c
Sync to HEAD
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 16 Apr 2004 12:51:06 +0000 |
parents | 375f2633d815 |
children | 0fe073a08cef |
line wrap: on
line diff
--- a/lisp/mouse-sel.el Thu Apr 15 01:08:34 2004 +0000 +++ b/lisp/mouse-sel.el Fri Apr 16 12:51:06 2004 +0000 @@ -196,6 +196,9 @@ ;;=== User Command ======================================================== +(defvar mouse-sel-has-been-enabled nil + "Non-nil if Mouse Sel mode has been enabled at least once.") + (defvar mouse-sel-original-bindings nil) (defvar mouse-sel-original-interprogram-cut-function nil) (defvar mouse-sel-original-interprogram-paste-function nil) @@ -252,7 +255,8 @@ (setq mouse-sel-original-interprogram-cut-function interprogram-cut-function mouse-sel-original-interprogram-paste-function - interprogram-paste-function) + interprogram-paste-function + mouse-sel-has-been-enabled t) (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) (setq interprogram-cut-function nil interprogram-paste-function nil)))) @@ -261,10 +265,13 @@ (remove-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook) (dolist (binding mouse-sel-original-bindings) (global-set-key (car binding) (cdr binding))) - (setq interprogram-cut-function - mouse-sel-original-interprogram-cut-function - interprogram-paste-function - mouse-sel-original-interprogram-paste-function))) + ;; Restore the old values of these variables, + ;; only if they were actually saved previously. + (if mouse-sel-has-been-enabled + (setq interprogram-cut-function + mouse-sel-original-interprogram-cut-function + interprogram-paste-function + mouse-sel-original-interprogram-paste-function)))) ;;=== Internal Variables/Constants ======================================== @@ -704,4 +711,5 @@ (provide 'mouse-sel) +;;; arch-tag: 86e6c73f-deaa-48d3-a24e-c565fda1f7d7 ;;; mouse-sel.el ends here