unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t
@ 2012-08-04 20:52 Drew Adams
  2012-08-06  4:18 ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: Drew Adams @ 2012-08-04 20:52 UTC (permalink / raw
  To: 12139

emacs -Q
 
(setq pop-up-frames t)
 
In some buffer, M-x occur, then `e' to enter `occur-edit-mode'.
 
Type a character on the occur buffer.  The frame of the buffer that was
searched is brought to the foreground, obscuring the occur buffer.
What's more, the searched buffer's frame receives the input focus.
 
In sum, you cannot edit the occur buffer at all, because all input takes
place in the searched buffer, and its frame is popped up, in front, each
time you make any change in the occur buffer.
 
This bug is a POSTER CHILD for Emacs Dev's introducing a feature without
ever testing it with a non-nil `pop-up-frames' scenario (or the
equivalent).

In GNU Emacs 24.1.1 (i386-mingw-nt5.1.2600)
 of 2012-06-10 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include'
 






^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t
  2012-08-04 20:52 bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t Drew Adams
@ 2012-08-06  4:18 ` Chong Yidong
  2012-08-06  5:28   ` Chong Yidong
  0 siblings, 1 reply; 4+ messages in thread
From: Chong Yidong @ 2012-08-06  4:18 UTC (permalink / raw
  To: Drew Adams; +Cc: 12139

"Drew Adams" <drew.adams@oracle.com> writes:

> emacs -Q
> (setq pop-up-frames t)
> In some buffer, M-x occur, then `e' to enter `occur-edit-mode'.
>  
> Type a character on the occur buffer.  The frame of the buffer that was
> searched is brought to the foreground, obscuring the occur buffer.
> What's more, the searched buffer's frame receives the input focus.

It's a long-standing issue with display-buffer.  The docstring of
display-buffer says

   Display BUFFER-OR-NAME in some window, without selecting it.

But when pop-up-frames is non-nil, display-buffer does explicitly select
the window, via raising its frame.  One could argue that this is
desirable because the frame that is being re-used might be obscured or
out of sight, but it interferes with Lisp callers which want to display
stuff in another window without losing focus from the current one (which
is the main role of display-buffer).





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t
  2012-08-06  4:18 ` Chong Yidong
@ 2012-08-06  5:28   ` Chong Yidong
  2012-08-06  6:17     ` Drew Adams
  0 siblings, 1 reply; 4+ messages in thread
From: Chong Yidong @ 2012-08-06  5:28 UTC (permalink / raw
  To: Drew Adams; +Cc: 12139

Chong Yidong <cyd@gnu.org> writes:

> It's a long-standing issue with display-buffer.  The docstring of
> display-buffer says
>
>    Display BUFFER-OR-NAME in some window, without selecting it.
>
> But when pop-up-frames is non-nil, display-buffer does explicitly select
> the window, via raising its frame.  One could argue that this is
> desirable because the frame that is being re-used might be obscured or
> out of sight, but it interferes with Lisp callers which want to display
> stuff in another window without losing focus from the current one (which
> is the main role of display-buffer).

On reflection, I think this would be a useful application of the new
display action parameter mechanism.  So I introduced a new
`inhibit-switch-frame' action alist entry; callers like occur-edit,
which require keeping focus can supply this parameter, can use this to
tell `display-buffer' to avoid stealing focus away to another frame,
even at the expense of obscuring the displayed window.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t
  2012-08-06  5:28   ` Chong Yidong
@ 2012-08-06  6:17     ` Drew Adams
  0 siblings, 0 replies; 4+ messages in thread
From: Drew Adams @ 2012-08-06  6:17 UTC (permalink / raw
  To: 'Chong Yidong'; +Cc: 12139

> > It's a long-standing issue with display-buffer.  The docstring of
> > display-buffer says
> >
> >    Display BUFFER-OR-NAME in some window, without selecting it.
> >
> > But when pop-up-frames is non-nil, display-buffer does 
> > explicitly select the window, via raising its frame.  One could
> > argue that this is desirable because the frame that is being
> > re-used might be obscured or out of sight, but it interferes
> > with Lisp callers which want to display stuff in another window
> > without losing focus from the current one (which is the main
> > role of display-buffer).
> 
> On reflection, I think this would be a useful application of the new
> display action parameter mechanism.  So I introduced a new
> `inhibit-switch-frame' action alist entry; callers like occur-edit,
> which require keeping focus can supply this parameter, can use this to
> tell `display-buffer' to avoid stealing focus away to another frame,
> even at the expense of obscuring the displayed window.

Thanks for the prompt fix.  When I get an MS Windows binary I will check whether
it takes care of things also when a standalone minibuffer frame is used on
Windows.  Thx.






^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-08-06  6:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-04 20:52 bug#12139: 24.1; `occur-edit-mode' is completely broken if `pop-up-frames'=t Drew Adams
2012-08-06  4:18 ` Chong Yidong
2012-08-06  5:28   ` Chong Yidong
2012-08-06  6:17     ` Drew Adams

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).