aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2014-08-13 10:15:54 -0400
committerStefan Monnier2014-08-13 10:15:54 -0400
commit43a85f2dd1fa881a4600b31c6192e58265159d06 (patch)
treeb5b68d0119821797773497ed555edc5ec64c9447
parent92180ebd2eb944cc84f6e3c6f26a58b21374a79a (diff)
downloademacs-43a85f2dd1fa881a4600b31c6192e58265159d06.tar.gz
emacs-43a85f2dd1fa881a4600b31c6192e58265159d06.zip
* lisp/obsolete/mouse-sel.el (mouse-sel-mode): Use add/remove-function.
(mouse-sel--ignore): New function. (mouse-sel-has-been-enabled, mouse-sel-original-bindings) (mouse-sel-original-interprogram-cut-function) (mouse-sel-original-interprogram-paste-function): Remove.
-rw-r--r--lisp/obsolete/mouse-sel.el25
1 files changed, 8 insertions, 17 deletions
diff --git a/lisp/obsolete/mouse-sel.el b/lisp/obsolete/mouse-sel.el
index 9b3ba9f727e..21765c3d652 100644
--- a/lisp/obsolete/mouse-sel.el
+++ b/lisp/obsolete/mouse-sel.el
@@ -190,12 +190,9 @@ If nil, point will always be placed at the beginning of the region."
190 190
191;;=== User Command ======================================================== 191;;=== User Command ========================================================
192 192
193(defvar mouse-sel-has-been-enabled nil
194 "Non-nil if Mouse Sel mode has been enabled at least once.")
195
196(defvar mouse-sel-original-bindings nil) 193(defvar mouse-sel-original-bindings nil)
197(defvar mouse-sel-original-interprogram-cut-function nil) 194
198(defvar mouse-sel-original-interprogram-paste-function nil) 195(defalias 'mouse-sel--ignore #'ignore)
199 196
200;;;###autoload 197;;;###autoload
201(define-minor-mode mouse-sel-mode 198(define-minor-mode mouse-sel-mode
@@ -242,14 +239,11 @@ kill ring; mouse-1 or mouse-3 kills it."
242 (global-set-key event (cdr binding))))) 239 (global-set-key event (cdr binding)))))
243 mouse-sel-bound-events)) 240 mouse-sel-bound-events))
244 ;; Update interprogram functions. 241 ;; Update interprogram functions.
245 (setq mouse-sel-original-interprogram-cut-function
246 interprogram-cut-function
247 mouse-sel-original-interprogram-paste-function
248 interprogram-paste-function
249 mouse-sel-has-been-enabled t)
250 (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste) 242 (unless (eq mouse-sel-default-bindings 'interprogram-cut-paste)
251 (setq interprogram-cut-function nil 243 (add-function :override interprogram-cut-function
252 interprogram-paste-function nil)))) 244 #'mouse-sel--ignore)
245 (add-function :override interprogram-paste-function
246 #'mouse-sel--ignore))))
253 247
254 ;; Restore original bindings 248 ;; Restore original bindings
255 (remove-hook 'x-lost-selection-functions 'mouse-sel-lost-selection-hook) 249 (remove-hook 'x-lost-selection-functions 'mouse-sel-lost-selection-hook)
@@ -257,11 +251,8 @@ kill ring; mouse-1 or mouse-3 kills it."
257 (global-set-key (car binding) (cdr binding))) 251 (global-set-key (car binding) (cdr binding)))
258 ;; Restore the old values of these variables, 252 ;; Restore the old values of these variables,
259 ;; only if they were actually saved previously. 253 ;; only if they were actually saved previously.
260 (if mouse-sel-has-been-enabled 254 (remove-function interprogram-cut-function #'mouse-sel--ignore)
261 (setq interprogram-cut-function 255 (remove-function interprogram-paste-function #'mouse-sel--ignore)))
262 mouse-sel-original-interprogram-cut-function
263 interprogram-paste-function
264 mouse-sel-original-interprogram-paste-function))))
265 256
266(make-obsolete 'mouse-sel-mode "use the normal mouse modes" "24.3") 257(make-obsolete 'mouse-sel-mode "use the normal mouse modes" "24.3")
267 258