summaryrefslogtreecommitdiff
path: root/lisp/scroll-bar.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-05-04 23:45:21 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2010-05-04 23:45:21 -0400
commit80ac5d4d34b34947df9b0088d81ec02aa10a93b5 (patch)
treead08364ee1613d99018bfd6cc42809ed3c1e08fa /lisp/scroll-bar.el
parentf44379e7feb79dd734318706abe5a000cff34c9b (diff)
downloademacs-80ac5d4d34b34947df9b0088d81ec02aa10a93b5.tar.gz
Use define-minor-mode in more cases.
* term/tvi970.el (tvi970-set-keypad-mode): * simple.el (auto-fill-mode, overwrite-mode, binary-overwrite-mode) (normal-erase-is-backspace-mode): * scroll-bar.el (scroll-bar-mode): Use it and define-minor-mode. (set-scroll-bar-mode-1): (Re)move to its sole caller. (get-scroll-bar-mode): New function. * emacs-lisp/cl-macs.el (eq): Handle a non-variable first arg.
Diffstat (limited to 'lisp/scroll-bar.el')
-rw-r--r--lisp/scroll-bar.el22
1 files changed, 8 insertions, 14 deletions
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index 3f763fc59da..ebc00859137 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -29,6 +29,7 @@
;;; Code:
(require 'mouse)
+(eval-when-compile (require 'cl))
;;;; Utilities.
@@ -79,9 +80,6 @@ SIDE must be the symbol `left' or `right'."
"Non-nil means `set-scroll-bar-mode' should really do something.
This is nil while loading `scroll-bar.el', and t afterward.")
-(defun set-scroll-bar-mode-1 (ignore value)
- (set-scroll-bar-mode value))
-
(defun set-scroll-bar-mode (value)
"Set `scroll-bar-mode' to VALUE and put the new value into effect."
(if scroll-bar-mode
@@ -107,27 +105,23 @@ Setting the variable with a customization buffer also takes effect."
;; The default value for :initialize would try to use :set
;; when processing the file in cus-dep.el.
:initialize 'custom-initialize-default
- :set 'set-scroll-bar-mode-1)
+ :set (lambda (sym val) (set-scroll-bar-mode val)))
;; We just set scroll-bar-mode, but that was the default.
;; If it is set again, that is for real.
(setq scroll-bar-mode-explicit t)
-(defun scroll-bar-mode (&optional flag)
+(defun get-scroll-bar-mode () scroll-bar-mode)
+(defsetf get-scroll-bar-mode set-scroll-bar-mode)
+(define-minor-mode scroll-bar-mode
"Toggle display of vertical scroll bars on all frames.
This command applies to all frames that exist and frames to be
created in the future.
With a numeric argument, if the argument is positive
turn on scroll bars; otherwise turn off scroll bars."
- (interactive "P")
-
- ;; Tweedle the variable according to the argument.
- (set-scroll-bar-mode (if (if (null flag)
- (not scroll-bar-mode)
- (setq flag (prefix-numeric-value flag))
- (or (not (numberp flag)) (> flag 0)))
- (or previous-scroll-bar-mode
- default-frame-scroll-bars))))
+ :variable (eq (get-scroll-bar-mode)
+ (or previous-scroll-bar-mode
+ default-frame-scroll-bars)))
(defun toggle-scroll-bar (arg)
"Toggle whether or not the selected frame has vertical scroll bars.