[PATCH] emacs: tweak error buffer handling

Mark Walters markwalters1009 at gmail.com
Fri Dec 28 01:03:08 PST 2012


Austin Clements <amdragon at MIT.EDU> writes:

> Quoth Mark Walters on Dec 26 at 10:27 pm:
>> 
>> On Tue, 25 Dec 2012, Tomi Ollila <tomi.ollila at iki.fi> wrote:
>> > On Sat, Dec 22 2012, Mark Walters <markwalters1009 at 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.

Hi 

That sounds great. In an ideal world we could behave slightly
differently for fatal errors but the common errors are likely to be
transient (locked database errors) so getting these right (which this
would do) seems the important step.

My view is that we should push a fix like the above for 0.15. What do
other people think?


Best wishes

Mark



More information about the notmuch mailing list