From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Newsgroups: gmane.emacs.devel Subject: RE: patch for optional inhibit of delete-other-windows(IDE feature) Date: Tue, 29 Apr 2008 14:13:53 +0200 Message-ID: <84D8FEFE8D23E94E9C2A6F0C58EE07E342A309@mucmail3.sdm.de> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1209471264 31332 80.91.229.12 (29 Apr 2008 12:14:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 29 Apr 2008 12:14:24 +0000 (UTC) Cc: monnier@iro.umontreal.ca, rms@gnu.org To: , Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Apr 29 14:15:00 2008 connect(): Connection refused 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 1Jqojb-0001hV-Pq for ged-emacs-devel@m.gmane.org; Tue, 29 Apr 2008 14:15:00 +0200 Original-Received: from localhost ([127.0.0.1]:47606 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jqoiu-0003eF-TS for ged-emacs-devel@m.gmane.org; Tue, 29 Apr 2008 08:14:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jqoik-0003Z6-Kp for emacs-devel@gnu.org; Tue, 29 Apr 2008 08:14:06 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jqoii-0003X5-PH for emacs-devel@gnu.org; Tue, 29 Apr 2008 08:14:05 -0400 Original-Received: from [199.232.76.173] (port=36300 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jqoii-0003Ws-8Z for emacs-devel@gnu.org; Tue, 29 Apr 2008 08:14:04 -0400 Original-Received: from world2.sdm.de ([192.76.162.230]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jqoid-0001BV-IY; Tue, 29 Apr 2008 08:14:00 -0400 Original-Received: from mucns1 ([10.40.232.18] helo=mucns1.sdm.de) by world2.sdm.de with esmtp (MTA) id 1JqoiZ-0003aI-2Z; Tue, 29 Apr 2008 14:13:55 +0200 Original-Received: from localhost ([127.0.0.1] helo=sdmmail1.sdm.de) by mucns1.sdm.de with esmtp (MTA) id 1JqoiZ-0007wA-0i; Tue, 29 Apr 2008 14:13:55 +0200 Original-Received: from mucmail3.sdm.de ([10.40.232.45]) by sdmmail1.sdm.de with Microsoft SMTPSVC(6.0.3790.1830); Tue, 29 Apr 2008 14:13:54 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: patch for optional inhibit of delete-other-windows(IDE feature) Thread-Index: Acip6ZYt801XEQOMQtex1vCnrNUaZwAByLmw X-OriginalArrivalTime: 29 Apr 2008 12:13:54.0282 (UTC) FILETIME=[7E1934A0:01C8A9F2] X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) 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:96136 Archived-At: joakim@verona.se wrote: > Heres a new version of the patch. New stuff: >=20 > - The interface is now an alist tied to the window. > I think Stefan prefered this. >=20 > acessors: > set-window-parameter > window-parameter >=20 > - set "pin" to t, and the window will not go away on > delete-other-winows=20 > - set "group" to something, and all windows with the same value will > be considered in the same window group, which affects other-window for > instance. >=20 > - I also have some hackish elisp code to show how the interface works. >=20 > This is all only lightly tested, but looks IMHO promising. >=20 > Issues: >=20 > - I didn't adress Klaus concern with switch-to-buffer yet, I'm not > sure how to proceed there. maybe by an `switch-to-buffer-function' but i'm not sure... I wrote in another posting that switch-to-buffer was one of the most important advices in ECB; this is not correct - the advice of = `display-buffer' is at least equally important because it is needed to display all stuff like help-buffers etc. automatically in the compile-window. Here is small comment from ecb-layout.el: ;; This advice is the heart of the mechanism which displays all buffer = in the ;; compile-window if they are are "compilation-buffers" in the sense of ;; `ecb-compilation-buffer-p'! ;; We do not use `display-buffer-function' but we just handle it within = the ;; advice, because otherwise we would have to implement all = window-choosing ;; for ourself and with our advice we just "restrict" the windows ;; `display-buffer' can use (by setting the not choosable windows = temporarly ;; dedicated) but the real choosing-task is done by the function ;; itself - this is much better and smarter than implementing the whole = stuff. So displaying some buffers in certain windows automatically is very = important for a tool like ECB...of course there are hooks like = `display-buffer-function' which could be used instead of an advice but as described above (see the = comment) this implies to reimplement all standard window-choosing-stuff again = which is a bad idea and superfluous... So what i'm still missing in the core-functionality of Emacs is a good and smart concept to 'redirect' displaying certain buffer to certain = windows. >=20 > - I broke an optimization, marked as FIXME in windows.c. It doesnt > look especially important so I wont not spend time on it until > everything works properly.