On Mon Aug 6 2012 Sam Steingold wrote:
> as with all bury-buffer --> quit-window changes the main idea is that
> bury-buffer preserves the newly created window or frame while
> quit-window deletes it.  basically, whatever has been displayed
> interactively should be removed with quit-window.

Sure, but the point is here that the call of quit-window is preceded
by a call of set-window-configuration that is supposed to restore
the window configuration before the *Completions* window popped up.
So under normal circumstances there will be no *Completions* window
anymore when quit-window is called, see Ivan Kanis' bug report.
The only remaining issue following the call of set-window-configuration
is that the *Completions* buffer is still high in the list of all
buffers, which is handled by bury-buffer.

Do you have a specific example when this approach fails?

I guess a problem could occur if the *Completions* window comes up
with its own frame, so that set-window-configuration does not affect
this frame. Then we might need something like the following

    (when bbdb-complete-mail-saved-window-config
      (when (get-buffer-window "*Completions*")
        (set-window-configuration bbdb-complete-mail-saved-window-config)
        (let ((window (get-buffer-window "*Completions*")))
          (if (window-live-p window)
              (quit-window nil window)
            (bury-buffer "*Completions*"))))
      (setq bbdb-complete-mail-saved-window-config nil))

Better suggestions welcome. How are other packages handling this?

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to