Subject: Re: bug#1061: pop-up-frames does not work on a tty

From: martin rudalics <[email-masked]>
Date: Fri, 03 Oct 2008 13:51:04 +0200

> Yes, the more I think of it, the more I feel like pop-up-frames) should
 > be ignored on ttys (and maybe special-display-buffers as well).

Why throw out the child with the bathwater?  We could have `raise-frame'
simply select its argument on text-only terminals.

martin
*** frame.c.~1.394.~	2008-09-30 19:36:42.968750000 +0200
--- frame.c	2008-10-03 13:47:18.171875000 +0200
***************
*** 2004,2010 ****
  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.  */)
       (frame)
       Lisp_Object frame;
  {
--- 2004,2010 ----
  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 selects FRAME.  */)
       (frame)
       Lisp_Object frame;
  {
***************
*** 2016,2023 ****
  
    f = XFRAME (frame);
  
!   /* 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);
--- 2016,2027 ----
  
    f = XFRAME (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);