aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2021-09-02 14:58:41 +0300
committerEli Zaretskii2021-09-02 14:58:41 +0300
commit110db95e13535cb6b364ac9ca3490dca7ea9ac50 (patch)
tree6b0cbe27733cf5a324412deb17c3cb5573fe1fb6 /src
parentbfb2dd0e9d95882fe4907ff5f2ab3c857b415368 (diff)
downloademacs-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.c11
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