# HG changeset patch # User Richard M. Stallman # Date 869464714 0 # Node ID 86c0d896480eedbbdcebb775e960b47b19674097 # Parent 825fe2874454f08f3c75990d89a9c12dc289999d (scroll-bar-mode-explicit): New variable. (set-scroll-bar-mode): Don't alter default-frame-alist when just loading this file. diff -r 825fe2874454 -r 86c0d896480e lisp/scroll-bar.el --- a/lisp/scroll-bar.el Mon Jul 21 05:16:37 1997 +0000 +++ b/lisp/scroll-bar.el Mon Jul 21 05:58:34 1997 +0000 @@ -58,25 +58,30 @@ (defvar scroll-bar-mode) +(defvar scroll-bar-mode-explicit nil + "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 (ignore value) "Set `scroll-bar-mode' to VALUE and put the new value into effect." (setq scroll-bar-mode value) - ;; Apply it to default-frame-alist. - (let ((parameter (assq 'vertical-scroll-bars default-frame-alist))) - (if (consp parameter) - (setcdr parameter scroll-bar-mode) - (setq default-frame-alist - (cons (cons 'vertical-scroll-bars scroll-bar-mode) - default-frame-alist)))) + (when scroll-bar-mode-explicit + ;; Apply it to default-frame-alist. + (let ((parameter (assq 'vertical-scroll-bars default-frame-alist))) + (if (consp parameter) + (setcdr parameter scroll-bar-mode) + (setq default-frame-alist + (cons (cons 'vertical-scroll-bars scroll-bar-mode) + default-frame-alist)))) - ;; Apply it to existing frames. - (let ((frames (frame-list))) - (while frames - (modify-frame-parameters - (car frames) - (list (cons 'vertical-scroll-bars scroll-bar-mode))) - (setq frames (cdr frames))))) + ;; Apply it to existing frames. + (let ((frames (frame-list))) + (while frames + (modify-frame-parameters + (car frames) + (list (cons 'vertical-scroll-bars scroll-bar-mode))) + (setq frames (cdr frames)))))) (defcustom scroll-bar-mode 'left "*Specify whether to have vertical scroll bars, and on which side. @@ -92,6 +97,10 @@ :group 'frames :set 'set-scroll-bar-mode) +;; 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 (flag) "Toggle display of vertical scroll bars on all frames. This command applies to all frames that exist and frames to be