From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: window-next-buffers Date: Sat, 26 Nov 2011 12:44:35 +0100 Message-ID: <4ED0D123.1010306@gmx.at> References: <878vn67y0l.fsf@gnu.org> <4ECE159F.8080300@gmx.at> <8739dduz0q.fsf@mail.jurta.org> <4ECF6AD1.1070807@gmx.at> <87zkfkqynp.fsf@mail.jurta.org> <87mxbkp78m.fsf@uwakimon.sk.tsukuba.ac.jp> <87wraotcg8.fsf@gnu.org> <87r50wkouv.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1322307895 17854 80.91.229.12 (26 Nov 2011 11:44:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 26 Nov 2011 11:44:55 +0000 (UTC) Cc: "Stephen J. Turnbull" , Chong Yidong , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 26 12:44:50 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RUGgX-0003rS-OO for ged-emacs-devel@m.gmane.org; Sat, 26 Nov 2011 12:44:45 +0100 Original-Received: from localhost ([::1]:48412 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RUGgW-0006bS-WA for ged-emacs-devel@m.gmane.org; Sat, 26 Nov 2011 06:44:44 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:37541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RUGgU-0006bM-QW for emacs-devel@gnu.org; Sat, 26 Nov 2011 06:44:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RUGgT-0005ln-Hh for emacs-devel@gnu.org; Sat, 26 Nov 2011 06:44:42 -0500 Original-Received: from mailout-de.gmx.net ([213.165.64.23]:51212) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1RUGgT-0005lH-4V for emacs-devel@gnu.org; Sat, 26 Nov 2011 06:44:41 -0500 Original-Received: (qmail invoked by alias); 26 Nov 2011 11:44:37 -0000 Original-Received: from 62-47-60-164.adsl.highway.telekom.at (EHLO [62.47.60.164]) [62.47.60.164] by mail.gmx.net (mp007) with SMTP; 26 Nov 2011 12:44:37 +0100 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19Q8QJkCDNQWV5x4s9mgV7uIVsaxkoZ6Qb1ohbVec Elzb98ts2+H/Zq User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <87r50wkouv.fsf@mail.jurta.org> X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 213.165.64.23 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:146251 Archived-At: > Then we need just one list of buffers (visited in the window) > and the pointer referencing the currently displayed buffer > (or a numeric index of the position of the currently displayed > buffer in the list of visited buffers). A window's previous buffers are perused as follows: (1) For navigating the buffers shown in a window. This calls `switch-to-prev-buffer' with BURY-OR-KILL nil and preferably does not show a buffer from the window's next buffers. (2) For burying or killing the buffer shown in a window. This may call `switch-to-prev-buffer' with BURY-OR-KILL non-nil and can show a buffer from window's next buffers. (3) For quitting a window. This works on the window's previous buffers directly and can show a buffer from window's next buffers. So any optimization for (1) must make sure that operations (2) and (3) are not harmed. In addition you will have to do the proper action for `set-window-buffer'. And the most annoying problem, namely that a buffer on one of these lists gets killed while I can't access these lists because they are hidden by a window excursion, must be handled too (maybe directly in `set-window-configuration'). martin