From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Juanma Barranquero" Newsgroups: gmane.emacs.help Subject: Re: MY window tree! Date: Mon, 15 Jan 2007 15:56:45 +0100 Message-ID: References: <45A8B034.8020301@gmx.at> <45AAA21C.6090505@gmail.com> <45AAB98F.8060404@gmail.com> <45AB2CDB.1040207@gmx.at> <45AB7C99.6050002@gmail.com> <45AB8B1F.7010408@gmail.com> <45AB92A8.7030300@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1168881380 11854 80.91.229.12 (15 Jan 2007 17:16:20 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 15 Jan 2007 17:16:20 +0000 (UTC) Cc: martin rudalics , help-gnu-emacs@gnu.org, michael@cadilhac.name Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Jan 15 18:16:16 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from main.gmane.org ([80.91.229.2] helo=ciao.gmane.org) by lo.gmane.org with esmtp (Exim 4.50) id 1H6VJq-0002Hu-Nc for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Jan 2007 18:08:26 +0100 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1H6VIr-0008SR-24 for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Jan 2007 18:07:26 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H6TGk-0007as-87 for geh-help-gnu-emacs@m.gmane.org; Mon, 15 Jan 2007 09:57:06 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1H6TGT-0007a5-IM for help-gnu-emacs@gnu.org; Mon, 15 Jan 2007 09:56:49 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1H6TGS-0007Zb-Ti for help-gnu-emacs@gnu.org; Mon, 15 Jan 2007 09:56:49 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H6TGS-0007ZW-LE for help-gnu-emacs@gnu.org; Mon, 15 Jan 2007 09:56:48 -0500 Original-Received: from [64.233.182.187] (helo=nf-out-0910.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1H6TGS-0005mH-2G for help-gnu-emacs@gnu.org; Mon, 15 Jan 2007 09:56:48 -0500 Original-Received: by nf-out-0910.google.com with SMTP id h2so2065660nfe for ; Mon, 15 Jan 2007 06:56:47 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=SfnnYoynaBKU/3MXc5QAdXbka0k09SuTV+kC8u6K/ol2UvDzMAIwK9mCtUAx8bgsc+CgT7yAASW1UPblTl5tnpia6R9m3Z3Da4C6Ii3mmfzk5ayt8qUXcaPSaXHxrB64+vAMsRMAA9pNcViyB5e+Sevj00waydwK0YCEFMQmiPc= Original-Received: by 10.82.135.13 with SMTP id i13mr610999bud.1168873006132; Mon, 15 Jan 2007 06:56:46 -0800 (PST) Original-Received: by 10.82.146.7 with HTTP; Mon, 15 Jan 2007 06:56:45 -0800 (PST) Original-To: "Lennart Borgman (gmail)" In-Reply-To: <45AB92A8.7030300@gmail.com> Content-Disposition: inline X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:40313 Archived-At: On 1/15/07, Lennart Borgman (gmail) wrote: > I have actually changed that to just change the 'window property of the > overlays. No overlays are normally copied any more. Ah, good. > If the window object > that the 'window properties points to is not a valid window any more > then I just replace that value with a pointer to the new window that > have replaced the old one. I think the right thing to do would be a bit more complicate: 1) search every displayed buffer and make a list of all overlays associated to windows, and which windows are they associated to (one list for window, I suppose). 2) do your mumbo-jumbo with windows 3) determine which window corresponds to every buffer now 4) process the lists of 1) above and modify only those overlays that pointed to a non-alive windows W1 that corresponds now to W2. All this because there may be other valid reasons why a buffer contains overlays with 'window properties pointing to a dead window. You don't want them suddenly being visible in the wrong window, do you? > I guess that for most cases this will be sufficient. But there can still > be cases where a mode (or some other code) have a persisting pointer to > a window object. I can not replace this pointers. Of course. > I would suspect that this situation is not very common, but I am not > sure. I am not aware of any such case at all so please tell me so I can > get a better picture of this. I'm no aware either. I'm just pointing out that there's a reason this hasn't been done earlier in elisp :) /L/e/k/t/u