changeset 98579:6a4d13121cb1

(Fraise_frame): On text-only terminals select frame in order to make it visible. (Bug#1061)
author Martin Rudalics <rudalics@gmx.at>
date Thu, 09 Oct 2008 08:24:48 +0000
parents a3c29cf2d09a
children 93f43f5f3723
files src/frame.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/frame.c	Thu Oct 09 08:12:41 2008 +0000
+++ b/src/frame.c	Thu Oct 09 08:24:48 2008 +0000
@@ -2004,7 +2004,7 @@
 If FRAME is invisible or iconified, make it visible.
 If you don't specify a frame, the selected frame is used.
 If Emacs is displaying on an ordinary terminal or some other device which
-doesn't support multiple overlapping frames, this function does nothing.  */)
+doesn't support multiple overlapping frames, this function selects FRAME.  */)
      (frame)
      Lisp_Object frame;
 {
@@ -2016,8 +2016,12 @@
 
   f = XFRAME (frame);
 
-  /* Do like the documentation says. */
-  Fmake_frame_visible (frame);
+  if (FRAME_TERMCAP_P (f))
+    /* On a text-only terminal select FRAME.  */
+    Fselect_frame (frame);
+  else
+    /* Do like the documentation says. */
+    Fmake_frame_visible (frame);
 
   if (FRAME_TERMINAL (f)->frame_raise_lower_hook)
     (*FRAME_TERMINAL (f)->frame_raise_lower_hook) (f, 1);
@@ -3413,7 +3417,7 @@
       && !CONSP (new_value))
     {
       char *p0, *p1;
-	
+
       CHECK_STRING (new_value);
       p0 = p1 = SDATA (new_value);
       new_value = Qnil;