diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/faces.el | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/faces.el b/lisp/faces.el index 5ae1c65a4da..c69339e2fdc 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -2200,8 +2200,13 @@ the X resource \"reverseVideo\" is present, handle that." border-color cursor-color mouse-color visibility scroll-bar-foreground scroll-bar-background)) + (delayed-font nil) frame success) (dolist (param delayed-params) + ;; Save the font used here. Once the frame is created, set the + ;; `font-parameter' frame parameter. + (when (and (eq param 'font) (assq 'font parameters)) + (setq delayed-font (cdr (assq 'font parameters)))) (setq params (assq-delete-all param params))) (setq frame (x-create-frame `((visibility . nil) . ,params))) (unwind-protect @@ -2212,6 +2217,11 @@ the X resource \"reverseVideo\" is present, handle that." (x-handle-reverse-video frame parameters) (frame-set-background-mode frame t) (face-set-after-frame-default frame parameters) + ;; The code above will not set the `font-parameter' frame + ;; property, which is used by dynamic-setting.el to respect + ;; fonts specified by the user via frame parameters (as + ;; opposed to face attributes). Set the parameter manually. + (set-frame-parameter frame 'font-parameter delayed-font) ;; Mark frame as 'was-invisible' when it was created as ;; invisible or iconified and PARAMETERS contains either a ;; width or height specification. This should be sufficient |