aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2000-10-25 11:39:51 +0000
committerMiles Bader2000-10-25 11:39:51 +0000
commitf4cbc7a0ddcf48c84469bfd3e8350664667657ce (patch)
tree6220d637608630bf18b1eb0cfec8bd2bbf94b03a
parenta30ccae670fd30dcffca14a9bd499cccc8dae044 (diff)
downloademacs-f4cbc7a0ddcf48c84469bfd3e8350664667657ce.tar.gz
emacs-f4cbc7a0ddcf48c84469bfd3e8350664667657ce.zip
(mouse-wheel-mode): New global minor mode.
(mwheel-install): Use `mouse-wheel-mode'.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/mwheel.el31
2 files changed, 33 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f30be3f6bac..7882d1e4624 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
12000-10-25 Miles Bader <miles@gnu.org>
2
3 * recentf.el (recentf-mode): Variable removed.
4 (recentf-mode): Use `define-minor-mode'.
5
6 * mwheel.el (mouse-wheel-mode): New global minor mode.
7 (mwheel-install): Use `mouse-wheel-mode'.
8
12000-10-25 Dave Love <fx@gnu.org> 92000-10-25 Dave Love <fx@gnu.org>
2 10
3 * wid-edit.el (widget-field-keymap, widget-text-keymap): Don't 11 * wid-edit.el (widget-field-keymap, widget-text-keymap): Don't
diff --git a/lisp/mwheel.el b/lisp/mwheel.el
index d6b562b55e3..f7feab41250 100644
--- a/lisp/mwheel.el
+++ b/lisp/mwheel.el
@@ -94,9 +94,19 @@ This can be slightly disconcerting, but some people may prefer it."
94 (t (error "Bad binding in mwheel-scroll")))) 94 (t (error "Bad binding in mwheel-scroll"))))
95 (if curwin (select-window curwin))))) 95 (if curwin (select-window curwin)))))
96 96
97
98;;; Note this definition must be at the end of the file, because
99;;; `define-minor-mode' actually calls the mode-function if the
100;;; associated variable is non-nil, which requires that all needed
101;;; functions be already defined. [This is arguably a bug in d-m-m]
97;;;###autoload 102;;;###autoload
98(defun mwheel-install () 103(define-minor-mode mouse-wheel-mode
99 "Enable mouse wheel support." 104 "Toggle mouse wheel support.
105With prefix argument ARG, turn on if positive, otherwise off.
106Returns non-nil if the new state is enabled."
107 nil nil nil
108 :global t
109 :group 'mouse
100 ;; In the latest versions of XEmacs, we could just use 110 ;; In the latest versions of XEmacs, we could just use
101 ;; (S-)*mouse-[45], since those are aliases for the button 111 ;; (S-)*mouse-[45], since those are aliases for the button
102 ;; equivalents in XEmacs, but I want this to work in as many 112 ;; equivalents in XEmacs, but I want this to work in as many
@@ -111,11 +121,20 @@ This can be slightly disconcerting, but some people may prefer it."
111 ;; that if the wheeled-mouse is there, it just works, and this way it 121 ;; that if the wheeled-mouse is there, it just works, and this way it
112 ;; doesn't yell at me if I'm on my laptop or another machine, etc. 122 ;; doesn't yell at me if I'm on my laptop or another machine, etc.
113 (condition-case () 123 (condition-case ()
114 (while keys 124 (dolist (key keys)
115 (define-key global-map (car keys) 'mwheel-scroll) 125 (cond (mouse-wheel-mode
116 (setq keys (cdr keys))) 126 (define-key global-map key 'mwheel-scroll))
127 ((eq (lookup-key global-map key) 'mwheel-scroll)
128 (define-key global-map key nil))))
117 (error nil)))) 129 (error nil))))
118 130
131;;; Compatibility entry point
132;;;###autoload
133(defun mwheel-install (&optional uninstall)
134 "Enable mouse wheel support."
135 (mouse-wheel-mode t))
136
137
119(provide 'mwheel) 138(provide 'mwheel)
120 139
121;;; mwheel.el ends here 140;;; mwheel.el ends here