summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-05-06 00:32:58 +0000
committerRichard M. Stallman <rms@gnu.org>1994-05-06 00:32:58 +0000
commitc1e6740184ef8e07a50ee54788871d57bf4c142d (patch)
tree7352f9ce2bc979ad8cf74060182d60a0475e0e38
parent791e09d82bf5026f1dcd7ef22e70b1be31bca2a4 (diff)
downloademacs-c1e6740184ef8e07a50ee54788871d57bf4c142d.tar.gz
(frame-notice-user-settings): Use geometry parms from frame
when the initial specifications did not have them.
-rw-r--r--lisp/frame.el28
1 files changed, 17 insertions, 11 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 915c96c43dc..872a2f4acce 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -187,17 +187,23 @@ These supersede the values given in `default-frame-alist'.")
default-frame-alist
(frame-parameters frame-initial-frame)
nil))
- ;; Get rid of `reverse', because that was handled
- ;; when we first made the frame.
- (new (make-frame
- ;; Use the geometry args that created the existing
- ;; frame, rather than the parms we get for it.q
- (append frame-initial-geometry-arguments
- (let (frame-initial-geometry-arguments)
- (frame-remove-geometry-params
- (cons '(reverse . nil)
- (delq (assq 'reverse parms)
- parms))))))))
+ new)
+ ;; Get rid of `reverse', because that was handled
+ ;; when we first made the frame.
+ (setq parms (cons '(reverse) (delq (assq 'reverse parms) parms)))
+ (if (assq 'height frame-initial-geometry-arguments)
+ (setq parms (delq (assq 'height parms) parms)))
+ (if (assq 'width frame-initial-geometry-arguments)
+ (setq parms (delq (assq 'width parms) parms)))
+ (if (assq 'left frame-initial-geometry-arguments)
+ (setq parms (delq (assq 'left parms) parms)))
+ (if (assq 'top frame-initial-geometry-arguments)
+ (setq parms (delq (assq 'top parms) parms)))
+ (setq new
+ (make-frame
+ ;; Use the geometry args that created the existing
+ ;; frame, rather than the parms we get for it.
+ (append frame-initial-geometry-arguments parms)))
;; The initial frame, which we are about to delete, may be
;; the only frame with a minibuffer. If it is, create a
;; new one.