diff options
| author | Eli Zaretskii | 2021-09-02 14:58:41 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2021-09-02 14:58:41 +0300 |
| commit | 110db95e13535cb6b364ac9ca3490dca7ea9ac50 (patch) | |
| tree | 6b0cbe27733cf5a324412deb17c3cb5573fe1fb6 /src | |
| parent | bfb2dd0e9d95882fe4907ff5f2ab3c857b415368 (diff) | |
| download | emacs-110db95e13535cb6b364ac9ca3490dca7ea9ac50.tar.gz emacs-110db95e13535cb6b364ac9ca3490dca7ea9ac50.zip | |
Fix 'clone-frame' on TTY frames
* src/frame.c (Fmake_terminal_frame): Make a separate copy of the
faces for the new frame before calling modify-frame-parameters, as
on TTY frames that needs the faces already set up. (Bug#34715)
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/frame.c b/src/frame.c index 74ef2afdb1d..ab5dcc3664c 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1406,11 +1406,6 @@ affects all frames on the same terminal device. */) | |||
| 1406 | (t->display_info.tty->name | 1406 | (t->display_info.tty->name |
| 1407 | ? build_string (t->display_info.tty->name) | 1407 | ? build_string (t->display_info.tty->name) |
| 1408 | : Qnil)); | 1408 | : Qnil)); |
| 1409 | /* On terminal frames the `minibuffer' frame parameter is always | ||
| 1410 | virtually t. Avoid that a different value in parms causes | ||
| 1411 | complaints, see Bug#24758. */ | ||
| 1412 | store_in_alist (&parms, Qminibuffer, Qt); | ||
| 1413 | Fmodify_frame_parameters (frame, parms); | ||
| 1414 | 1409 | ||
| 1415 | /* Make the frame face hash be frame-specific, so that each | 1410 | /* Make the frame face hash be frame-specific, so that each |
| 1416 | frame could change its face definitions independently. */ | 1411 | frame could change its face definitions independently. */ |
| @@ -1423,6 +1418,12 @@ affects all frames on the same terminal device. */) | |||
| 1423 | for (idx = 0; idx < table->count; ++idx) | 1418 | for (idx = 0; idx < table->count; ++idx) |
| 1424 | set_hash_value_slot (table, idx, Fcopy_sequence (HASH_VALUE (table, idx))); | 1419 | set_hash_value_slot (table, idx, Fcopy_sequence (HASH_VALUE (table, idx))); |
| 1425 | 1420 | ||
| 1421 | /* On terminal frames the `minibuffer' frame parameter is always | ||
| 1422 | virtually t. Avoid that a different value in parms causes | ||
| 1423 | complaints, see Bug#24758. */ | ||
| 1424 | store_in_alist (&parms, Qminibuffer, Qt); | ||
| 1425 | Fmodify_frame_parameters (frame, parms); | ||
| 1426 | |||
| 1426 | f->can_set_window_size = true; | 1427 | f->can_set_window_size = true; |
| 1427 | f->after_make_frame = true; | 1428 | f->after_make_frame = true; |
| 1428 | 1429 | ||