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 configurations Date: Thu, 03 Jun 2010 10:57:30 +0200 Message-ID: <4C076E7A.8060803@gmx.at> References: <4BB4CF6B.2000007@alice.it> <87zl0rtmqy.fsf@mail.jurta.org> <871vdu6qn5.fsf@mail.jurta.org> <87bpcv1wvt.fsf@mail.jurta.org> <4BE13828.2030609@gmx.at> <87vdb2qo82.fsf@mail.jurta.org> <4BE27C17.3030005@gmx.at> <87vdav4vx5.fsf@mail.jurta.org> <4BE900E7.3090402@gmx.at> <87r5liqv8f.fsf@mail.jurta.org> <4BEA74DC.2060103@gmx.at> <87y6fns8qo.fsf@mail.jurta.org> <4BECF4D6.9030707@gmx.at> <87632na2af.fsf@mail.jurta.org> <4C03F1B5.8040708@gmx.at> <4C04D1BF.9070902@gmx.at> <87hblmv9s3.fsf@mail.jurta.org> <4C0655D1.60205@gmx.at> <87eigps0gn.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1275556057 9384 80.91.229.12 (3 Jun 2010 09:07:37 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 3 Jun 2010 09:07:37 +0000 (UTC) Cc: Stefan Monnier , Emacs To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 03 11:07:35 2010 connect(): No such file or directory 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.69) (envelope-from ) id 1OK6Oe-0008QQ-Hz for ged-emacs-devel@m.gmane.org; Thu, 03 Jun 2010 11:07:28 +0200 Original-Received: from localhost ([127.0.0.1]:38370 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OK6Oe-0004Kp-25 for ged-emacs-devel@m.gmane.org; Thu, 03 Jun 2010 05:07:28 -0400 Original-Received: from [140.186.70.92] (port=41720 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OK6FB-0007Dn-4h for emacs-devel@gnu.org; Thu, 03 Jun 2010 04:57:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OK6F6-0002Ro-JR for emacs-devel@gnu.org; Thu, 03 Jun 2010 04:57:41 -0400 Original-Received: from mail.gmx.net ([213.165.64.20]:54533) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1OK6F6-0002Rd-8b for emacs-devel@gnu.org; Thu, 03 Jun 2010 04:57:36 -0400 Original-Received: (qmail invoked by alias); 03 Jun 2010 08:57:34 -0000 Original-Received: from 62-47-38-194.adsl.highway.telekom.at (EHLO [62.47.38.194]) [62.47.38.194] by mail.gmx.net (mp018) with SMTP; 03 Jun 2010 10:57:34 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/vcIxk9c7v0AI9pM3QfdSvQRnwbYF/3T3IE1n833 A6S4+TiTiezRl9 User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: <87eigps0gn.fsf@mail.jurta.org> X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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:125474 Archived-At: >> (let ((list (list "*scratch*"))) >> (set-frame-parameter nil 'buffer-list (setcdr list list)) >> (buffer-list (selected-frame))) > > This is unfair ;-) You can break almost everything with a cyclic list. But usually you can quit via C-g. This case has a special history: Once upon a time Vbuffer_alist "used to be a variable, but is no longer, to prevent lossage due to user rplac'ing this alist or its elements". Then eventually Richard decided to "not use Frassq, Fmemq or Fdelq since their loops allow quitting. Write a special loop by hand." which was still OK because Vbuffer_alist was no longer accessible from Elisp. Next we got frame local buffer lists and finally someone decided to allow setting a frame's buffer list from Elisp ... I think two things have to be done here: Remove the special constructs that don't allow quitting. They are hardly useful today. Moreover, there are routines operating on buffer lists that _do allow quitting_ like unrecord_buffer so the original motivation is moot anyway (unless we want unrecord_buffer use a construct like record_buffer). In addition we should disallow changing a frame's buffer and buried buffer lists by setting the corresponding frame's parameter. I think this was part of an attempt to make each and every frame related object part of a frame's parameters. But an application should not be allowed to alter the history of buffers shown on a particular frame. Let's leave such activities to politicians - that's what they get paid for. > However, I'd like to fix the invalid frame case for > `(other-buffer nil nil 1)' with: [...] Elementary. martin