diff options
author | Po Lu <luangruo@yahoo.com> | 2022-11-19 11:19:41 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-11-19 11:19:41 +0800 |
commit | 10701635cfefde5e416215d72f4dababe0ce8d7f (patch) | |
tree | 1eed743537159df52e6c21f9f15306d81360ddee /src | |
parent | b23a4a15055af504324c3a60e5c6cbd93becf9b0 (diff) | |
download | emacs-10701635cfefde5e416215d72f4dababe0ce8d7f.tar.gz emacs-10701635cfefde5e416215d72f4dababe0ce8d7f.tar.bz2 emacs-10701635cfefde5e416215d72f4dababe0ce8d7f.zip |
Fix bug#59371
* src/frame.c (Freconsider_frame_fonts): If a font parameter was
set, create a params alist with it. Then, pass it to both
default_font_parameter and face-set-after-frame-default.
(bug#59371)
Diffstat (limited to 'src')
-rw-r--r-- | src/frame.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c index f63a19e7dcf..151a4029958 100644 --- a/src/frame.c +++ b/src/frame.c @@ -5959,18 +5959,26 @@ have changed. */) (Lisp_Object frame) { struct frame *f; + Lisp_Object params; f = decode_window_system_frame (frame); + /* Kludge: if a `font' parameter was already specified, + create an alist containing just that parameter. (bug#59371) */ + params = Qnil; + + if (!NILP (get_frame_param (f, Qfont))) + params = list1 (Fcons (Qfont, get_frame_param (f, Qfont))); + /* First, call this to reinitialize any font backend specific stuff. */ if (FRAME_RIF (f)->default_font_parameter) - FRAME_RIF (f)->default_font_parameter (f, Qnil); + FRAME_RIF (f)->default_font_parameter (f, params); /* Now call this to apply the existing value(s) of the `default' face. */ - call1 (Qface_set_after_frame_default, frame); + call2 (Qface_set_after_frame_default, frame, params); return Qnil; } |