changeset 87702:7ebe288dfbd0

(fringe-mode-explicit): New variable. (set-fringe-mode): Don't alter default-frame-alist when just loading this file.
author Martin Rudalics <rudalics@gmx.at>
date Thu, 10 Jan 2008 18:44:27 +0000
parents e4ad77d14806
children 9e1ef9a0680b
files lisp/fringe.el
diffstat 1 files changed, 16 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/fringe.el	Thu Jan 10 17:45:15 2008 +0000
+++ b/lisp/fringe.el	Thu Jan 10 18:44:27 2008 +0000
@@ -93,6 +93,10 @@
 
 (defvar fringe-mode)
 
+(defvar fringe-mode-explicit nil
+  "Non-nil means `set-fringe-mode' should really do something.
+This is nil while loading `fringe.el', and t afterward.")
+
 (defun set-fringe-mode-1 (ignore value)
   "Call `set-fringe-mode' with VALUE.
 See `fringe-mode' for valid values and their effect.
@@ -104,13 +108,14 @@
 See `fringe-mode' for possible values and their effect."
   (setq fringe-mode value)
 
-  (modify-all-frames-parameters
-   (list (cons 'left-fringe (if (consp fringe-mode)
-				(car fringe-mode)
-			      fringe-mode))
-	 (cons 'right-fringe (if (consp fringe-mode)
-				 (cdr fringe-mode)
-			       fringe-mode)))))
+  (when fringe-mode-explicit
+    (modify-all-frames-parameters
+     (list (cons 'left-fringe (if (consp fringe-mode)
+				  (car fringe-mode)
+				fringe-mode))
+	   (cons 'right-fringe (if (consp fringe-mode)
+				   (cdr fringe-mode)
+				 fringe-mode))))))
 
 ;; For initialization of fringe-mode, take account of changes
 ;; made explicitly to default-frame-alist.
@@ -159,6 +164,10 @@
   :initialize 'fringe-mode-initialize
   :set 'set-fringe-mode-1)
 
+;; We just set fringe-mode, but that was the default.
+;; If it is set again, that is for real.
+(setq fringe-mode-explicit t)
+
 (defun fringe-query-style (&optional all-frames)
   "Query user for fringe style.
 Returns values suitable for left-fringe and right-fringe frame parameters.