Subject: bug#3696 closed by Chong Yidong <[email-masked]> (Re: 23.1.50; Buffer-modified confirmation goes to wrong frame in daemon mode)

From: [email-masked] (Emacs bug Tracking System)
Date: Mon, 29 Jun 2009 03:35:04 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#3696: 23.1.50; C-x # quits the frame before buffer-modified confirmation

It has been closed by Chong Yidong <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <[email-masked]> by
replying to this email.

-- 
3696: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3696
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: 23.1.50; Buffer-modified confirmation goes to wrong frame in daemon mode
From: Chong Yidong <[email-masked]>
To: Teemu Likonen <[email-masked]>
Cc: [email-masked]
Date: Sun, 28 Jun 2009 23:29:35 -0400

> In daemon/client mode "C-x #" (server-edit) quits too early from its
> frame and leaves the confirm "Buffer foo modified; kill anyway? (yes or
> no)" in wrong frame's minibuffer.
>
> Quite obviously the question "Buffer foo modified; kill anyway? (yes or
> no)" should be displayed in the frame of the buffer "foo" before closing
> the frame.

I don't see why we need to prompt twice, so in this case it should be OK
to suppress the usual kill-buffer prompt.  I've checked in a fix for
this into the trunk.

Subject: 23.1.50; Buffer-modified confirmation goes to wrong frame in daemon mode
From: Teemu Likonen <[email-masked]>
To: [email-masked]
Date: Sat, 27 Jun 2009 21:35:35 +0300

In daemon/client mode "C-x #" (server-edit) quits too early from its
frame and leaves the confirm "Buffer foo modified; kill anyway? (yes or
no)" in wrong frame's minibuffer. If there are no other frames the
confirm is totally hidden. Steps to reproduce:

 1. Start Emacs in daemon mode:

        emacs -Q --daemon

 2. Open an independent Emacs frame:

        emacsclient -c -n

 3. Leave that frame and start to edit a file in client mode:

        emacsclient -c -- foo

 4. Frame opens with buffer/file "foo". Now modify the buffer and type
    "C-x #" (server-edit). Answer "n" in the question whether to save
    the file "foo". The frame for file "foo" closes.

 5. In the other frame, the one we opened first, has the question

        Buffer foo modified; kill anyway? (yes or no)

    in its minibuffer. I think it should have been shown in the frame
    where buffer "foo" was.

Here's an example of weird situation this bug can lead to. Don't close
this Emacs daemon session yet.

 6. Close all frames.

 7. Start editing a file:

        emacsclient -c -- foo

 8. Modify the buffer, leave the buffer with "C-x #" and answer "n" in
    the question whether to save the file. The frame for file "foo"
    closes. The confirmation question is invisible because there are no
    frames to show it.

 9. Open new independent frame:

        emacsclient -c -n

10. The frame opens but its content is empty. Emacs is still waiting for
    user's input in the minibuffer but the question is invisible.

11. Press any key to skip the question. Now the frame is displayed
    normally. Buffer "foo" is still in the buffer list.

Quite obviously the question "Buffer foo modified; kill anyway? (yes or
no)" should be displayed in the frame of the buffer "foo" before closing
the frame.

In GNU Emacs 23.1.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.12)
 of 2009-06-27 on mithlond
Windowing system distributor `The X.Org Foundation', version 11.0.10402000
configured using `configure  '--prefix=/home/dtw/local''