From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Buffer listing in multiple frames/ttys Date: Wed, 07 Dec 2005 02:52:19 +0200 Organization: JURTA Message-ID: <87pso9wvjo.fsf@jurta.org> References: <87wtinrypp.fsf@jurta.org> <87u0dqm5ta.fsf@jurta.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1133920527 6537 80.91.229.2 (7 Dec 2005 01:55:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 7 Dec 2005 01:55:27 +0000 (UTC) Cc: rms@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 07 02:55:25 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EjoVy-0005p1-FO for ged-emacs-devel@m.gmane.org; Wed, 07 Dec 2005 02:54:38 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EjoWB-000248-H8 for ged-emacs-devel@m.gmane.org; Tue, 06 Dec 2005 20:54:51 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ejo7y-0005TL-Gt for emacs-devel@gnu.org; Tue, 06 Dec 2005 20:29:50 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ejo7x-0005RY-13 for emacs-devel@gnu.org; Tue, 06 Dec 2005 20:29:49 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ejo7w-0005R7-JR for emacs-devel@gnu.org; Tue, 06 Dec 2005 20:29:48 -0500 Original-Received: from [194.126.101.111] (helo=mail.neti.ee) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Ejo8g-0000oh-Vt; Tue, 06 Dec 2005 20:30:35 -0500 Original-Received: from mail.neti.ee (80-235-33-19-dsl.mus.estpak.ee [80.235.33.19]) by Relayhost1.neti.ee (Postfix) with ESMTP id C4AF71ED9; Wed, 7 Dec 2005 03:29:48 +0200 (EET) Original-To: lorentey@elte.hu (=?utf-8?Q?K=C3=A1roly_L=C5=91rentey?=) In-Reply-To: (=?utf-8?Q?K=C3=A1roly=09L=C5=91rentey's?= message of "Tue, 06 Dec 2005 13:44:53 +0100") User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) X-Virus-Scanned: by amavisd-new-2.2.1 (20041222) (Debian) at neti.ee 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:47094 Archived-At: > I note that `bury-buffer' removes the buffer from the frame-local > buffer lists of all frames, not just the selected one. This is an > unwanted side-effect in this case, as we want the effects of > `next-buffer' to remain frame-local. I propose to add an optional > parameter to `bury-buffer' to support this. I think this change should be made for all invocations of `bury-buffer', not only from `next-buffer'. Also I think recoding a buffer to the new frame parameter should be made in `bury-buffer' instead of `next-buffer'. And so there is no need for a new optional parameter. Some commands call `bury-buffer' directly, and it would be good to record their buffers in the frame-local parameter. > I appended to the end of this message enhanced versions of > `next-buffer' and `prev-buffer' that eliminate this problem by > maintaining a new auxiliary frame-local buffer list, called > `previous-buffer-list'. `next-buffer' prepends the old buffer to this > list, and `prev-buffer' searches this list first; otherwise the two > functions behave as in CVS. These functions are much better than previous versions, but still don't work correctly without changes in `bury-buffer'. Instead of introducing a new frame parameter `previous-buffer-list' what do you think about reusing the existing frame parameter `buffer-list'? It could have a special marker delimiting a list of frame's "next" visited buffers and "previous" visited buffers. A nil value could serve as such special marker. So for example, (frame-parameter nil 'buffer-list) could contain: (# # nil # #) where buffers until `nil' are buffers added by `switch-to-buffer' (i.e. the same buffers that are currently recorded in this parameter), and buffers after `nil' are buffers added by `bury-buffer'. Then some functions should be changed to understand this new format of the frame parameter `buffer-list'. -- Juri Linkov http://www.jurta.org/emacs/