comparison 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
comparison
equal deleted inserted replaced
89908:ee1402f7b568 89909:68c22ea6027c
194 ([M-down-mouse-3] . mouse-extend-secondary)) 194 ([M-down-mouse-3] . mouse-extend-secondary))
195 "An alist of events that `mouse-sel-mode' binds.") 195 "An alist of events that `mouse-sel-mode' binds.")
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)
202 205
203 ;;;###autoload 206 ;;;###autoload
250 mouse-sel-bound-events)) 253 mouse-sel-bound-events))
251 ;; Update interprogram functions. 254 ;; Update interprogram functions.
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))))
259 263
260 ;; Restore original bindings 264 ;; Restore original bindings
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 ;; Restore the old values of these variables,
265 mouse-sel-original-interprogram-cut-function 269 ;; only if they were actually saved previously.
266 interprogram-paste-function 270 (if mouse-sel-has-been-enabled
267 mouse-sel-original-interprogram-paste-function))) 271 (setq interprogram-cut-function
272 mouse-sel-original-interprogram-cut-function
273 interprogram-paste-function
274 mouse-sel-original-interprogram-paste-function))))
268 275
269 ;;=== Internal Variables/Constants ======================================== 276 ;;=== Internal Variables/Constants ========================================
270 277
271 (defvar mouse-sel-primary-thing nil 278 (defvar mouse-sel-primary-thing nil
272 "Type of PRIMARY selection in current buffer.") 279 "Type of PRIMARY selection in current buffer.")
702 (let ((overlay (mouse-sel-selection-overlay selection))) 709 (let ((overlay (mouse-sel-selection-overlay selection)))
703 (delete-overlay overlay))) 710 (delete-overlay overlay)))
704 711
705 (provide 'mouse-sel) 712 (provide 'mouse-sel)
706 713
714 ;;; arch-tag: 86e6c73f-deaa-48d3-a24e-c565fda1f7d7
707 ;;; mouse-sel.el ends here 715 ;;; mouse-sel.el ends here