changeset 18891:86c0d896480e

(scroll-bar-mode-explicit): New variable. (set-scroll-bar-mode): Don't alter default-frame-alist when just loading this file.
author Richard M. Stallman <rms@gnu.org>
date Mon, 21 Jul 1997 05:58:34 +0000
parents 825fe2874454
children fb7337970b45
files lisp/scroll-bar.el
diffstat 1 files changed, 23 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- 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