aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Möllmann2025-12-17 19:52:54 +0100
committerGerd Möllmann2025-12-19 14:12:33 +0100
commita6c2ae3a3fb89cd0eedd1b6b4e81fb90ce910f96 (patch)
tree04dad4e485eaf0fea215fdc967c7e356290895f6
parentcfb4bace26c6104c23698b6d7da243845cc1d911 (diff)
downloademacs-a6c2ae3a3fb89cd0eedd1b6b4e81fb90ce910f96.tar.gz
emacs-a6c2ae3a3fb89cd0eedd1b6b4e81fb90ce910f96.zip
Don't make tty child frames visible when selected (bug#80020)
* src/frame.c (do_switch_frame): Don't change visibility of tty child frames. (Fraise_frame): Doc string fix.
-rw-r--r--src/frame.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/frame.c b/src/frame.c
index 1185eacb16c..131f1967424 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1911,18 +1911,16 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
1911 1911
1912 XSETFRAME (top_frame, root_frame (f)); 1912 XSETFRAME (top_frame, root_frame (f));
1913 tty->top_frame = top_frame; 1913 tty->top_frame = top_frame;
1914 SET_FRAME_VISIBLE (root_frame (f), true);
1914 1915
1915 while (p) 1916 while (p)
1916 { 1917 {
1917 /* If FRAME is a child frame, make its ancsetors visible 1918 /* If FRAME is a child frame, make it redraw. */
1918 and garbage them ... */
1919 SET_FRAME_VISIBLE (p, true);
1920 SET_FRAME_GARBAGED (p); 1919 SET_FRAME_GARBAGED (p);
1921 p = FRAME_PARENT_FRAME (p); 1920 p = FRAME_PARENT_FRAME (p);
1922 } 1921 }
1923 1922
1924 /* ... and FRAME itself too. */ 1923 /* ... and FRAME itself too. */
1925 SET_FRAME_VISIBLE (f, true);
1926 SET_FRAME_GARBAGED (f); 1924 SET_FRAME_GARBAGED (f);
1927 1925
1928 /* FIXME: Why is it correct to set FrameCols/Rows here? */ 1926 /* FIXME: Why is it correct to set FrameCols/Rows here? */
@@ -1937,9 +1935,6 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
1937 FrameRows (tty) = FRAME_TOTAL_LINES (f); 1935 FrameRows (tty) = FRAME_TOTAL_LINES (f);
1938 } 1936 }
1939 } 1937 }
1940 else
1941 /* Should be covered by the condition above. */
1942 SET_FRAME_VISIBLE (f, true);
1943 } 1938 }
1944 1939
1945 sf->select_mini_window_flag = MINI_WINDOW_P (XWINDOW (sf->selected_window)); 1940 sf->select_mini_window_flag = MINI_WINDOW_P (XWINDOW (sf->selected_window));
@@ -3530,9 +3525,7 @@ DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list,
3530DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", 3525DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "",
3531 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps. 3526 doc: /* Bring FRAME to the front, so it occludes any frames it overlaps.
3532If FRAME is invisible or iconified, make it visible. 3527If FRAME is invisible or iconified, make it visible.
3533If you don't specify a frame, the selected frame is used. 3528If you don't specify a frame, the selected frame is used. */)
3534If Emacs is displaying on an ordinary terminal or some other device which
3535doesn't support multiple overlapping frames, this function selects FRAME. */)
3536 (Lisp_Object frame) 3529 (Lisp_Object frame)
3537{ 3530{
3538 struct frame *f = decode_live_frame (frame); 3531 struct frame *f = decode_live_frame (frame);