Mercurial > emacs
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 |