Re: [PATCH] emacs: tweak error buffer handling

Subject: Re: [PATCH] emacs: tweak error buffer handling

Date: Thu, 27 Dec 2012 18:04:02 -0500

To: Mark Walters

Cc: Tomi Ollila, notmuch@notmuchmail.org

From: Austin Clements


Quoth Mark Walters on Dec 26 at 10:27 pm:
> 
> On Tue, 25 Dec 2012, Tomi Ollila <tomi.ollila@iki.fi> wrote:
> > On Sat, Dec 22 2012, Mark Walters <markwalters1009@gmail.com> wrote:
> >
> >> view-mode-enter changed between emacs 23 and emacs 24: the current
> >> code makes the error buffer disappear in emacs 24 on quitting it (ie
> >> pressing q) but this just kills the buffer without closing the split
> >> window in emacs 23.
> >>
> >> This patch makes the error buffer window disappear in emacs 23
> >> too. Since the view-mode-enter function changed we have to test for
> >> version and do the correct thing in each case.
> >> ---
> >>
> >> This seems to work but I have only tested on 23.4 and 24.2
> >
> > I run emacs 23.1.1 to get the documentation of view-mode-enter
> > there. So, this patch instructs to delete WINDOW when exiting
> > view mode...
> >
> > Documentation of pop-to-buffer says:
> >
> > "Select buffer BUFFER-OR-NAME in some window, preferably a different one."
> >
> > What if pop-up-windows's value is nil -- the content of current window
> > is replaced with this view stuff -- and when exiting view mode, the
> > window will be deleted ? What happens with emacs 24 in this case ?
> 
> Hi 
> 
> You are quite right there are problems here under emacs 23: if you
> already have a split window when the error occurs in one part the error
> is displayed in the other window and then on exit that (previously
> existing) window is closed.
> 
> What do people think should happen on an error? I, personally, don't
> like taking over an existing window, and Jamie liked some of the errors
> (eg non-fatal `locked database' tagging errors) to be shown in the
> mini-buffer.
> 
> I also think it is going to be difficult to get this right: emacs 23 and
> 24 are different and there are also some user configuration variable
> that affect what happens.

How about showing all errors in the minibuffer (which could simply
mean calling (error ...) and letting the Emacs top-level show it in
the mini-buffer)?  We could log the verbose error details (like
stdout) to some other buffer that we don't automatically show, but
instead simply reference from the minibuffer message.  This would be
more in line with how Emacs typically handles errors, and would make
the details available to the user without flooding them with the
details.

Thread: