aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/frame.el
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2000-10-28 17:18:21 +0000
committerEli Zaretskii <[email protected]>2000-10-28 17:18:21 +0000
commit42002db50d6b1b9e1549b244f919b56191f33759 (patch)
treee633efcb321b90ad26394aac88b380d0a6f7f129 /lisp/frame.el
parent53990c845c26e0662de44b1931a27eef366cfa8c (diff)
(frame-notice-user-settings): Don't apply
default-frame-alist and initial-frame-alist to MS-DOS frames. Call tty-handle-reverse-video, frame-set-background-mode, and face-set-after-frame-default for non-MS-DOS frames.
Diffstat (limited to 'lisp/frame.el')
-rw-r--r--lisp/frame.el28
1 files changed, 23 insertions, 5 deletions
diff --git a/lisp/frame.el b/lisp/frame.el
index 65392e61b6..81f29dfe23 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -252,17 +252,35 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
(when (and frame-notice-user-settings
(null frame-initial-frame))
- ;; This case happens when we don't have a window system.
+ ;; This case happens when we don't have a window system, and
+ ;; also for MS-DOS frames.
(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 (null window-system)
+ (append initial-frame-alist
+ default-frame-alist
+ parms
+ nil)
+ ;; initial-frame-alist and
+ ;; default-frame-alist were already
+ ;; applied in pc-win.el.
+ parms))
+ (if (null window-system) ;; MS-DOS does this differently in pc-win.el
+ (let ((newparms (frame-parameters))
+ (frame (selected-frame)))
+ (tty-handle-reverse-video frame newparms)
+ ;; If we changed the background color, we need to update
+ ;; the background-mode parameter, and maybe some faces,
+ ;; too.
+ (when (assq 'background-color newparms)
+ (unless (or (assq 'background-mode initial-frame-alist)
+ (assq 'background-mode default-frame-alist))
+ (frame-set-background-mode frame))
+ (face-set-after-frame-default frame))))))
;; If the initial frame is still around, apply initial-frame-alist
;; and default-frame-alist to it.