From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: walk-windows Date: Tue, 10 Jul 2007 17:05:06 -0700 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1184112474 8712 80.91.229.12 (11 Jul 2007 00:07:54 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 11 Jul 2007 00:07:54 +0000 (UTC) To: "Emacs-Devel" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 11 02:07:53 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 1I8PkH-0006nO-56 for ged-emacs-devel@m.gmane.org; Wed, 11 Jul 2007 02:07:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I8PkG-0000UU-FW for ged-emacs-devel@m.gmane.org; Tue, 10 Jul 2007 20:07:52 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1I8Pk9-0000NT-7F for emacs-devel@gnu.org; Tue, 10 Jul 2007 20:07:45 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1I8Pk7-0000KR-HR for emacs-devel@gnu.org; Tue, 10 Jul 2007 20:07:44 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1I8Pk7-0000K7-AY for emacs-devel@gnu.org; Tue, 10 Jul 2007 20:07:43 -0400 Original-Received: from agminet01.oracle.com ([141.146.126.228]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1I8Pk6-0006OH-Sg for emacs-devel@gnu.org; Tue, 10 Jul 2007 20:07:43 -0400 Original-Received: from rgmgw1.us.oracle.com (rgmgw1.us.oracle.com [138.1.186.110]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id l6B07d0x005244 for ; Tue, 10 Jul 2007 19:07:40 -0500 Original-Received: from acsmt351.oracle.com (acsmt351.oracle.com [141.146.40.151]) by rgmgw1.us.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id l6AM3m6i018470 for ; Tue, 10 Jul 2007 18:07:39 -0600 Original-Received: from dhcp-amer-csvpn-gw2-141-144-73-85.vpn.oracle.com by acsmt351.oracle.com with ESMTP id 3028082631184112311; Tue, 10 Jul 2007 17:05:11 -0700 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3138 X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-detected-kernel: Linux 2.4-2.6 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:74612 Archived-At: Can someone please explain a little about the logic behind the treatment of a standalone minibuffer frame in `walk-windows' (hence also `count-windows')? Here's the doc string: Cycle through all visible windows, calling proc for each one. proc is called with a window as argument. Optional second arg minibuf t means count the minibuffer window even if not active. minibuf nil or omitted means count the minibuffer iff it is active. minibuf neither t nor nil means not to count the minibuffer even if it is active. Several frames may share a single minibuffer; if the minibuffer counts, all windows on all frames that share that minibuffer count too. Therefore, if you are using a separate minibuffer frame and the minibuffer is active and minibuf says it counts, `walk-windows' includes the windows in the frame from which you entered the minibuffer, as well as the minibuffer window. all-frames is the optional third argument. all-frames nil or omitted means cycle within the frames as specified above. all-frames = `visible' means include windows on all visible frames. all-frames = 0 means include windows on all visible and iconified frames. all-frames = t means include windows on all frames including invisible frames. If all-frames is a frame, it means include windows on that frame. Anything else means restrict to the selected frame. The first two sentences in the third paragraph seem to conflict. The first says that "if the minibuffer counts, all windows on all frames that share that minibuffer count too." The next one says that (only) "the windows in the frame from which you entered the minibuffer" count too, not all other frames that share the standalone minibuffer. Which is correct? This is important, because it determines the meaning of `all-frames' when it is nil, because the doc string says, about that, "the frames as specified above". Beyond this confusion, I don't understand why you would want to include windows on another frame, if all-frames is nil.