From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Fwd: pcomplete bug with special display buffers Date: Wed, 07 Mar 2007 13:12:29 -0500 Message-ID: References: <878xec86jk.fsf@localhorst.mine.nu> <874pozlhnq.fsf@stupidchicken.com> <87d53noyvf.fsf@localhorst.mine.nu> <87y7m9hz75.fsf@localhorst.mine.nu> <87mz2phu0w.fsf@localhorst.mine.nu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1173291186 20278 80.91.229.12 (7 Mar 2007 18:13:06 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 7 Mar 2007 18:13:06 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 07 19:12:57 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HP0d3-0007Pa-VM for ged-emacs-devel@m.gmane.org; Wed, 07 Mar 2007 19:12:46 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HP0dA-00032w-Sn for ged-emacs-devel@m.gmane.org; Wed, 07 Mar 2007 13:12:52 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HP0cz-00032i-7q for emacs-devel@gnu.org; Wed, 07 Mar 2007 13:12:41 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HP0cw-00032E-Pw for emacs-devel@gnu.org; Wed, 07 Mar 2007 13:12:40 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HP0cw-000322-J7 for emacs-devel@gnu.org; Wed, 07 Mar 2007 13:12:38 -0500 Original-Received: from tomts36.bellnexxia.net ([209.226.175.93] helo=tomts36-srv.bellnexxia.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HP0co-0005hv-QA for emacs-devel@gnu.org; Wed, 07 Mar 2007 13:12:30 -0500 Original-Received: from pastel.home ([74.12.206.221]) by tomts36-srv.bellnexxia.net (InterMail vM.5.01.06.13 201-253-122-130-113-20050324) with ESMTP id <20070307181229.ZMHV1612.tomts36-srv.bellnexxia.net@pastel.home> for ; Wed, 7 Mar 2007 13:12:29 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 6561082E1; Wed, 7 Mar 2007 13:12:29 -0500 (EST) In-Reply-To: <87mz2phu0w.fsf@localhorst.mine.nu> (David Hansen's message of "Wed\, 07 Mar 2007 17\:56\:31 +0100") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.93 (gnu/linux) X-detected-kernel: Solaris 8 (1) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:67523 Archived-At: >>> + (let ((window (get-buffer-window "*Completions*" t))) >> >> I recommend to use 0 rather than t as last arg to get-buffer-window >> otherwise you may find the buffer but in a frame that can't be seen (at >> least not without first explicitly making it visible). > Shouldn't it be 'visible then? But i don't think I'm the right > person to check this, my window manager (ion3) is a bit different > from what most other users have. Could be. The difference is that `visible' would not notice if the buffer is displayed in an iconified frame, even though the frame will be de-iconified automatically by display-buffer, pop-to-buffer, raise-frame, and maybe a few other common operations. To be honest: there's a bit of confusion around all this. Part of the confusion comes from the fact that the `invisible' property of a window has been poorly specified and that most things have been defined in the context of a single display. With multiple-displays it makes sense to distinguish frames that are merely not currently shown (typically: iconified) from frames that simply can't be displayed on the current display. Given the current situation, the most sensible way to go is to declare that `invisible' indicates a frame that Emacs should consider as "currently unshowable" (either because it's on another display, or because the user has told Emacs not to show it by setting the `invisible' property). I have some patches waiting to be applied to try and straighten things out. Stefan