# HG changeset patch # User Gerd Moellmann # Date 947774779 0 # Node ID a896ba4a496b70fb17a2b7ac9005eac6d373079b # Parent 49a9d682a1777a0efb750aafa674716873d46f3c (frame-notice-user-settings): New variable. (frame-notice-user-settings): Don't modify frame parameters if called a second time. (frame-notice-user-settings): Notice default-frame-parameters even for non-window frames. diff -r 49a9d682a177 -r a896ba4a496b lisp/frame.el --- a/lisp/frame.el Thu Jan 13 13:55:49 2000 +0000 +++ b/lisp/frame.el Thu Jan 13 14:46:19 2000 +0000 @@ -211,6 +211,9 @@ (error "Can't create multiple frames without a window system")))))))) +(defvar frame-notice-user-settings t + "Non-nil means function `frame-notice-user-settings' wasn't run yet.") + ;;; startup.el calls this function after loading the user's init ;;; file. Now default-frame-alist and initial-frame-alist contain ;;; information to which we must react; do what needs to be done. @@ -233,6 +236,20 @@ ;; window is the minibuffer. (let ((old-buffer (current-buffer))) + (when (and frame-notice-user-settings + (null frame-initial-frame)) + ;; This case happens when we don't have a window system. + (let ((parms (frame-parameters frame-initial-frame))) + ;; Don't change the frame names. + (setq parms (delq (assq 'name parms) parms)) + ;; Can't modify the minibuffer parameter, so don't try. + (setq parms (delq (assq 'minibuffer parms) parms)) + (modify-frame-parameters nil + (append initial-frame-alist + default-frame-alist + parms + nil)))) + ;; If the initial frame is still around, apply initial-frame-alist ;; and default-frame-alist to it. (if (frame-live-p frame-initial-frame) @@ -387,6 +404,7 @@ ;; Make sure the initial frame can be GC'd if it is ever deleted. ;; Make sure frame-notice-user-settings does nothing if called twice. + (setq frame-notice-user-settings nil) (setq frame-initial-frame nil))) (defun make-initial-minibuffer-frame (display)