From: martin rudalics Date: Tue, 8 Feb 2022 06:38:25 +0000 (+0100) Subject: Improve handling of frame-inherited-parameters X-Git-Tag: emacs-29.0.90~2437 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b13e311f0babd7ab30d555ad542249b1a2ad9e2e;p=emacs.git Improve handling of frame-inherited-parameters * lisp/frame.el (make-frame): Improve handling of frame-inherited-parameters (bug#24651). --- diff --git a/lisp/frame.el b/lisp/frame.el index 6bf4c6178b1..e9c88adc7cc 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -883,7 +883,6 @@ the new frame according to its own rules." (error "Don't know how to interpret display %S" display))) (t window-system))) - (oldframe (selected-frame)) (params parameters) frame child-frame) @@ -901,8 +900,12 @@ the new frame according to its own rules." (dolist (p default-frame-alist) (unless (assq (car p) params) (push p params))) - -;; (setq frame-size-history '(1000)) + ;; Add parameters from `frame-inherited-parameters' unless they are + ;; overridden by explicit parameters. + (dolist (param frame-inherited-parameters) + (unless (assq param parameters) + (let ((val (frame-parameter nil param))) + (when val (push (cons param val) params))))) (when (eq (cdr (or (assq 'minibuffer params) '(minibuffer . t))) 'child-frame) @@ -935,12 +938,6 @@ the new frame according to its own rules." frame 'minibuffer (frame-root-window child-frame)))) (normal-erase-is-backspace-setup-frame frame) - ;; Inherit original frame's parameters unless they are overridden - ;; by explicit parameters. - (dolist (param frame-inherited-parameters) - (unless (assq param parameters) - (let ((val (frame-parameter oldframe param))) - (when val (set-frame-parameter frame param val))))) ;; We can run `window-configuration-change-hook' for this frame now. (frame-after-make-frame frame t)