diff options
| author | Richard M. Stallman | 2004-03-04 16:55:51 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2004-03-04 16:55:51 +0000 |
| commit | 387f00e68d0bf41e79af10310d44a9cbd412a3c0 (patch) | |
| tree | f30821c9cb6075df38e8f8dbededbaa2611047f9 | |
| parent | 29f128f625735cec363fb580e545c116d2189745 (diff) | |
| download | emacs-387f00e68d0bf41e79af10310d44a9cbd412a3c0.tar.gz emacs-387f00e68d0bf41e79af10310d44a9cbd412a3c0.zip | |
(mouse-sel-has-been-enabled): New var.
(mouse-sel-mode): When enabling, set mouse-sel-has-been-enabled.
When disabling, restore old values only if mouse-sel-has-been-enabled.
| -rw-r--r-- | lisp/mouse-sel.el | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el index 92e837657f6..57c131d43c1 100644 --- a/lisp/mouse-sel.el +++ b/lisp/mouse-sel.el | |||
| @@ -196,6 +196,9 @@ If nil, point will always be placed at the beginning of the region." | |||
| 196 | 196 | ||
| 197 | ;;=== User Command ======================================================== | 197 | ;;=== User Command ======================================================== |
| 198 | 198 | ||
| 199 | (defvar mouse-sel-has-been-enabled nil | ||
| 200 | "Non-nil if Mouse Sel mode has been enabled at least once.") | ||
| 201 | |||
| 199 | (defvar mouse-sel-original-bindings nil) | 202 | (defvar mouse-sel-original-bindings nil) |
| 200 | (defvar mouse-sel-original-interprogram-cut-function nil) | 203 | (defvar mouse-sel-original-interprogram-cut-function nil) |
| 201 | (defvar mouse-sel-original-interprogram-paste-function nil) | 204 | (defvar mouse-sel-original-interprogram-paste-function nil) |
| @@ -252,7 +255,8 @@ primary selection and region." | |||
| 252 | (setq mouse-sel-original-interprogram-cut-function | 255 | (setq mouse-sel-original-interprogram-cut-function |
| 253 | interprogram-cut-function | 256 | interprogram-cut-function |
| 254 | mouse-sel-original-interprogram-paste-function | 257 | mouse-sel-original-interprogram-paste-function |
| 255 | interprogram-paste-function) | 258 | interprogram-paste-function |
| 259 | mouse-sel-has-been-enabled t) | ||
| 256 | (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) | 260 | (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) |
| 257 | (setq interprogram-cut-function nil | 261 | (setq interprogram-cut-function nil |
| 258 | interprogram-paste-function nil)))) | 262 | interprogram-paste-function nil)))) |
| @@ -261,10 +265,11 @@ primary selection and region." | |||
| 261 | (remove-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook) | 265 | (remove-hook 'x-lost-selection-hooks 'mouse-sel-lost-selection-hook) |
| 262 | (dolist (binding mouse-sel-original-bindings) | 266 | (dolist (binding mouse-sel-original-bindings) |
| 263 | (global-set-key (car binding) (cdr binding))) | 267 | (global-set-key (car binding) (cdr binding))) |
| 264 | (setq interprogram-cut-function | 268 | (if mouse-sel-has-been-enabled |
| 265 | mouse-sel-original-interprogram-cut-function | 269 | (setq interprogram-cut-function |
| 266 | interprogram-paste-function | 270 | mouse-sel-original-interprogram-cut-function |
| 267 | mouse-sel-original-interprogram-paste-function))) | 271 | interprogram-paste-function |
| 272 | mouse-sel-original-interprogram-paste-function)))) | ||
| 268 | 273 | ||
| 269 | ;;=== Internal Variables/Constants ======================================== | 274 | ;;=== Internal Variables/Constants ======================================== |
| 270 | 275 | ||