# HG changeset patch # User Richard M. Stallman # Date 1097995795 0 # Node ID 6f85a547ab10c75456f20191ba9e5309fdd84a75 # Parent b9687fdf909d5394a3e873a920b208ba10228c71 (fringe-mode-initialize): New function. (fringe-mode): Use fringe-mode-initialize as :initialize. diff -r b9687fdf909d -r 6f85a547ab10 lisp/fringe.el --- a/lisp/fringe.el Sat Oct 16 23:25:39 2004 +0000 +++ b/lisp/fringe.el Sun Oct 17 06:49:55 2004 +0000 @@ -113,6 +113,25 @@ fringe-mode)))) (setq frames (cdr frames))))) +;; For initialization of fringe-mode, take account of changes +;; made explicitly to default-frame-alist. +(defun fringe-mode-initialize (symbol value) + (let* ((left-pair (assq 'left-fringe default-frame-alist)) + (right-pair (assq 'right-fringe default-frame-alist)) + (left (cdr left-pair)) + (right (cdr right-pair))) + (if (or left-pair right-pair) + ;; If there's something in default-frame-alist for fringes, + ;; don't change it, but reflect that into the value of fringe-mode. + (progn + (setq fringe-mode (cons left right)) + (if (equal fringe-mode '(nil . nil)) + (setq fringe-mode nil)) + (if (equal fringe-mode '(0 . 0)) + (setq fringe-mode 0))) + ;; Otherwise impose the user-specified value of fringe-mode. + (custom-initialize-reset symbol value)))) + ;;;###autoload (defcustom fringe-mode nil "*Specify appearance of fringes on all frames. @@ -139,6 +158,7 @@ (integer :tag "Right width"))) :group 'frames :require 'fringe + :initialize 'fringe-mode-initialize :set 'set-fringe-mode-1) (defun fringe-query-style (&optional all-frames)