emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 23.1: Is delete-windows-on supposed to change the current buffer?


From: Jeffrey C Honig
Subject: Re: 23.1: Is delete-windows-on supposed to change the current buffer?
Date: Fri, 31 Jul 2009 11:49:52 -0400

martin rudalics <address@hidden> wrote:

> > I'm debugging a problem with mh-e with 23.1.  In particular
> > (mh-yank-cur-msg) in lisp/mh-e/mh-letter.el.
> >
> > In 23.1, unlike prior releases, this sequence changes the current
> > buffer:
> >
> >           (if mh-delete-yanked-msg-window-flag
> >               (delete-windows-on mh-show-buffer)))
> >
> > Is this change in behavior expected so that we should fix mh-e?  Or is
> > this a bug in emacs 23.1 that I should report?
> 
> What is your window configuration like before and after that form gets
> executed?

In my case (which is not standard mh-e as I pop up new frames for draft
buffers):

Before:
        Current buffer:
             mh-sent-from-folder
        Main Frame:
             mh-sent-from-folder
             mh-show-buffer
        New Frame:
            draft-1

After:
        Current buffer:
             draft-1
        Main Frame:
             mh-sent-from-folder
        New Frame
            draft-1

So the surprise is that the current buffer changed at all.

The issue with the current buffer changing is that we are relying on
mh-show-buffer not changing, which is a buffer local variable.

This is easy to fix in mh-e.  But if this is an unexpected change in the
behavior of emacs it should probably be fixed there instead.

> `delete-windows-on' deletes all windows showing `mh-show-buffer'.  If,
> for example, `mh-show-buffer' is shown in the selected window and that
> window is the only window on its frame, and that frame is the only
> frame, another buffer is shown in that window and becomes the current
> buffer.  window_loop handles this as
> 
>                   if (EQ (window, selected_window))
>                     Fset_buffer (w->buffer);
> 
> unchanged since the past release.  A similar behavior applies when the
> frame can be deleted or there's another window on the frame.
> 
> Can you exclude that there was some change in the `mh-' part handling
> this?

This code has not changed in three years, so yes, something has changed
in emacs.

I've also been running the current mh-e code (from emacs CVS) with emacs
22 up until yesterday).

Thanks (谢谢).

Jeff

-- 
Jeffrey C. Honig <address@hidden>
http://www.honig.net/jch
GnuPG ID:14E29E13 <http://www.honig.net/jch/key.shtml>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]