From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai =?iso-8859-15?q?Gro=DFjohann?=) Newsgroups: gmane.emacs.devel Subject: Re: `buffer-list' and the frame-parameter `buffer-predicate' Date: Sun, 18 Aug 2002 19:24:13 +0200 Sender: emacs-devel-admin@gnu.org Message-ID: References: <200208170450.g7H4owO08637@wijiji.santafe.edu> <200208180631.g7I6VWc08974@wijiji.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1029691479 5251 127.0.0.1 (18 Aug 2002 17:24:39 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 18 Aug 2002 17:24:39 +0000 (UTC) Cc: alkibiades@gmx.de, emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17gTn2-0001MV-00 for ; Sun, 18 Aug 2002 19:24:36 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17gUE4-0001YU-00 for ; Sun, 18 Aug 2002 19:52:32 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17gTo5-0002aS-00; Sun, 18 Aug 2002 13:25:41 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17gTmp-0002ZU-00 for emacs-devel@gnu.org; Sun, 18 Aug 2002 13:24:23 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17gTmn-0002ZI-00 for emacs-devel@gnu.org; Sun, 18 Aug 2002 13:24:23 -0400 Original-Received: from waldorf.cs.uni-dortmund.de ([129.217.4.42]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17gTmn-0002ZC-00; Sun, 18 Aug 2002 13:24:21 -0400 Original-Received: from lothlorien.cs.uni-dortmund.de (lothlorien [129.217.19.67]) by waldorf.cs.uni-dortmund.de with ESMTP id g7IHOJb00203; Sun, 18 Aug 2002 19:24:19 +0200 (MES) Original-Received: from lucy.cs.uni-dortmund.de (lucy [129.217.19.80]) by lothlorien.cs.uni-dortmund.de id TAA27413; Sun, 18 Aug 2002 19:24:14 +0200 (MET DST) Original-Received: by lucy.cs.uni-dortmund.de (Postfix, from userid 6104) id BC06B3B1C5; Sun, 18 Aug 2002 19:24:13 +0200 (CEST) Original-To: rms@gnu.org In-Reply-To: <200208180631.g7I6VWc08974@wijiji.santafe.edu> (Richard Stallman's message of "Sun, 18 Aug 2002 00:31:32 -0600 (MDT)") Original-Lines: 39 User-Agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.3.50 (i686-pc-linux-gnu) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6623 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6623 Richard Stallman writes: > Now I understand. The idea of limiting which buffers you can switch > to is not the issue, I think. What you want to do is limit that > buffers are included in lists that are shown or offered to you. > > It should be easy to do as a customization that by writing > replacements for the buffer menu commands, for list-buffers, and for > switch-to-buffer (supplying a different list for completion, perhaps). > I suggest you give these commands new names and bind them to keys as > you see fit. That is cleaner than redefiniting the standard > functions. I think this is not the right solution, as there are a lot of functions that list buffers (either as completions, like switch-to-buffer, or as a menu, like buffer-menu). It would be a lot of work to change all of them, and if each one is changed individually, the behaviors are wont to be slightly different for each one. For example, switch-to-buffer doesn't offer a buffer as the default that has only been selected in another frame, but buffer-menu does. (Most of the time, C-x b RET and M-x buffer-menu RET n RET switch to the same buffer, but with switch-to-buffer avoiding buffers which have been selected in another frame, the behavior becomes different.) There should be a single function that returns the list of buffers to be used for switching to another buffer, and all functions for switching buffers should use this function. Then there is one spot to tweak in order to tweak the switching behavior. Oliver can use this for his "frames as workspaces" idea (which is great), and I could use this to cleanly implement flobl.el. (This stands for frame-local buffer list and it means that switching to a buffer in frame X does not change the order of buffers in frame Y.) kai -- A large number of young women don't trust men with beards. (BFBS Radio)