diff options
| author | Po Lu | 2022-11-19 11:19:41 +0800 |
|---|---|---|
| committer | Po Lu | 2022-11-19 11:19:41 +0800 |
| commit | 10701635cfefde5e416215d72f4dababe0ce8d7f (patch) | |
| tree | 1eed743537159df52e6c21f9f15306d81360ddee /src | |
| parent | b23a4a15055af504324c3a60e5c6cbd93becf9b0 (diff) | |
| download | emacs-10701635cfefde5e416215d72f4dababe0ce8d7f.tar.gz 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. */) | |||
| 5959 | (Lisp_Object frame) | 5959 | (Lisp_Object frame) |
| 5960 | { | 5960 | { |
| 5961 | struct frame *f; | 5961 | struct frame *f; |
| 5962 | Lisp_Object params; | ||
| 5962 | 5963 | ||
| 5963 | f = decode_window_system_frame (frame); | 5964 | f = decode_window_system_frame (frame); |
| 5964 | 5965 | ||
| 5966 | /* Kludge: if a `font' parameter was already specified, | ||
| 5967 | create an alist containing just that parameter. (bug#59371) */ | ||
| 5968 | params = Qnil; | ||
| 5969 | |||
| 5970 | if (!NILP (get_frame_param (f, Qfont))) | ||
| 5971 | params = list1 (Fcons (Qfont, get_frame_param (f, Qfont))); | ||
| 5972 | |||
| 5965 | /* First, call this to reinitialize any font backend specific | 5973 | /* First, call this to reinitialize any font backend specific |
| 5966 | stuff. */ | 5974 | stuff. */ |
| 5967 | 5975 | ||
| 5968 | if (FRAME_RIF (f)->default_font_parameter) | 5976 | if (FRAME_RIF (f)->default_font_parameter) |
| 5969 | FRAME_RIF (f)->default_font_parameter (f, Qnil); | 5977 | FRAME_RIF (f)->default_font_parameter (f, params); |
| 5970 | 5978 | ||
| 5971 | /* Now call this to apply the existing value(s) of the `default' | 5979 | /* Now call this to apply the existing value(s) of the `default' |
| 5972 | face. */ | 5980 | face. */ |
| 5973 | call1 (Qface_set_after_frame_default, frame); | 5981 | call2 (Qface_set_after_frame_default, frame, params); |
| 5974 | 5982 | ||
| 5975 | return Qnil; | 5983 | return Qnil; |
| 5976 | } | 5984 | } |