diff options
| author | Eli Zaretskii | 2020-10-10 11:11:34 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2020-10-10 11:11:34 +0300 |
| commit | c00606171f88be0df2c19346fa53f401ea71c71f (patch) | |
| tree | da8b7a07ef63d9030f226fbfc210bb9161f2f2e3 /src | |
| parent | 3196fd44c36a5ce6789382f74442c461d9264471 (diff) | |
| download | emacs-c00606171f88be0df2c19346fa53f401ea71c71f.tar.gz emacs-c00606171f88be0df2c19346fa53f401ea71c71f.zip | |
A better fix for bug#43886
* src/xfaces.c (load_color2, Fcolor_distance): Revert last change.
* src/term.c (clear_tty_hooks): Don't clear defined_color_hook.
Diffstat (limited to 'src')
| -rw-r--r-- | src/term.c | 4 | ||||
| -rw-r--r-- | src/xfaces.c | 10 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/term.c b/src/term.c index 94bf013f4a0..370f6fcd453 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -3842,7 +3842,9 @@ clear_tty_hooks (struct terminal *terminal) | |||
| 3842 | terminal->update_begin_hook = 0; | 3842 | terminal->update_begin_hook = 0; |
| 3843 | terminal->update_end_hook = 0; | 3843 | terminal->update_end_hook = 0; |
| 3844 | terminal->set_terminal_window_hook = 0; | 3844 | terminal->set_terminal_window_hook = 0; |
| 3845 | terminal->defined_color_hook = 0; | 3845 | /* Don't clear the defined_color_hook, as that makes it impossible |
| 3846 | to unload or load a theme when some TTY frame is suspended. */ | ||
| 3847 | /* terminal->defined_color_hook = 0; */ | ||
| 3846 | terminal->mouse_position_hook = 0; | 3848 | terminal->mouse_position_hook = 0; |
| 3847 | terminal->frame_rehighlight_hook = 0; | 3849 | terminal->frame_rehighlight_hook = 0; |
| 3848 | terminal->frame_raise_lower_hook = 0; | 3850 | terminal->frame_raise_lower_hook = 0; |
diff --git a/src/xfaces.c b/src/xfaces.c index fab29efe6f7..66d6c340302 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1059,13 +1059,6 @@ static unsigned long | |||
| 1059 | load_color2 (struct frame *f, struct face *face, Lisp_Object name, | 1059 | load_color2 (struct frame *f, struct face *face, Lisp_Object name, |
| 1060 | enum lface_attribute_index target_index, Emacs_Color *color) | 1060 | enum lface_attribute_index target_index, Emacs_Color *color) |
| 1061 | { | 1061 | { |
| 1062 | if (FRAME_TERMINAL (f)->defined_color_hook == NULL) | ||
| 1063 | { | ||
| 1064 | Lisp_Object frame; | ||
| 1065 | XSETFRAME (frame, f); | ||
| 1066 | signal_error ("Unable to load colors for suspended TTY frame", frame); | ||
| 1067 | } | ||
| 1068 | |||
| 1069 | eassert (STRINGP (name)); | 1062 | eassert (STRINGP (name)); |
| 1070 | eassert (target_index == LFACE_FOREGROUND_INDEX | 1063 | eassert (target_index == LFACE_FOREGROUND_INDEX |
| 1071 | || target_index == LFACE_BACKGROUND_INDEX | 1064 | || target_index == LFACE_BACKGROUND_INDEX |
| @@ -4398,9 +4391,6 @@ two lists of the form (RED GREEN BLUE) aforementioned. */) | |||
| 4398 | struct frame *f = decode_live_frame (frame); | 4391 | struct frame *f = decode_live_frame (frame); |
| 4399 | Emacs_Color cdef1, cdef2; | 4392 | Emacs_Color cdef1, cdef2; |
| 4400 | 4393 | ||
| 4401 | if (FRAME_TERMINAL (f)->defined_color_hook == NULL) | ||
| 4402 | signal_error ("Unable to validate colors for suspended TTY frame", frame); | ||
| 4403 | |||
| 4404 | if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1)) | 4394 | if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1)) |
| 4405 | && !(STRINGP (color1) | 4395 | && !(STRINGP (color1) |
| 4406 | && FRAME_TERMINAL (f)->defined_color_hook (f, | 4396 | && FRAME_TERMINAL (f)->defined_color_hook (f, |