From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Joakim Jalap Newsgroups: gmane.emacs.devel Subject: Re: Overlays as an AA-tree Date: Wed, 08 Feb 2017 07:53:37 +0100 Message-ID: <87mvdxmavi.fsf@fastmail.com> References: <87d1jylv43.fsf@fastmail.com> <87fujv64mn.fsf@hochschule-trier.de> <87fujvpkzc.fsf@fastmail.com> <87vasr5tqd.fsf@hochschule-trier.de> <87d1ex4kon.fsf@hochschule-trier.de> <87d1evod6x.fsf@fastmail.com> <877f53ftab.fsf@hochschule-trier.de> <878tpiqiuc.fsf@hochschule-trier.de> <87shnppspb.fsf@hochschule-trier.de> <87lgthplhr.fsf@hochschule-trier.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1486536834 23646 195.159.176.226 (8 Feb 2017 06:53:54 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 8 Feb 2017 06:53:54 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (berkeley-unix) Cc: Stefan Monnier , emacs-devel@gnu.org To: Andreas Politz Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Feb 08 07:53:47 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbM8R-0005na-2x for ged-emacs-devel@m.gmane.org; Wed, 08 Feb 2017 07:53:47 +0100 Original-Received: from localhost ([::1]:58006 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cbM8W-0001jc-Gd for ged-emacs-devel@m.gmane.org; Wed, 08 Feb 2017 01:53:52 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34098) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cbM8P-0001jW-U9 for emacs-devel@gnu.org; Wed, 08 Feb 2017 01:53:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cbM8L-0001R3-7O for emacs-devel@gnu.org; Wed, 08 Feb 2017 01:53:46 -0500 Original-Received: from out1-smtp.messagingengine.com ([66.111.4.25]:33800) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cbM8L-0001Pz-1C for emacs-devel@gnu.org; Wed, 08 Feb 2017 01:53:41 -0500 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 38ABE20B86; Wed, 8 Feb 2017 01:53:40 -0500 (EST) Original-Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Wed, 08 Feb 2017 01:53:40 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=mesmtp; bh=Z3YlT6j7Qht0kTlMvnTRB/TgCXo=; b=EQESD1 SCWZlG4aEe69wuRLsBy/bqjr+44bb2JkhMEp9nEF3qVRDH6IOhpDmYz0ajMaBjTS Kdk5/kdWPVwsdrJfd+M+vK79lZgtTuFFdRhRMcxoFic3OM3o1CWoCowVPvT5Y/DS eHZxwelfIFdyGES9i+vOLfvlNWdklJkD2WZpA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=smtpout; bh=Z3YlT6j7Qht0kT lMvnTRB/TgCXo=; b=HlflqGhdoTif/jgqrJHurSi/QugziOS7DCnmKneNahb7SD UehF8z/+ECbnWgN8E/rq0tM6gbP2mlE6TOOph2K7zlxZTjzMGYWyU2wfUanmtEsh yvghxiIUGUqp3uuXlZW7oDge0gyTxPNH7wj3XXYvNJORUEA3hUzeFn2BfOHYE= X-ME-Sender: X-Sasl-enc: 75exUcOe3DNPC82fP0MW2Q8DXB0a1dhsvPsDoM5KSi1d 1486536819 Original-Received: from genserv (unknown [5.150.202.248]) by mail.messagingengine.com (Postfix) with ESMTPA id 3B3DB245A4; Wed, 8 Feb 2017 01:53:39 -0500 (EST) In-Reply-To: <87lgthplhr.fsf@hochschule-trier.de> (Andreas Politz's message of "Wed, 08 Feb 2017 01:36:00 +0100") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.25 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:212125 Archived-At: Andreas Politz writes: > Anyway, I have the interval data-structure pretty much down and am now > wading through the current overlay code, in order to determine the > functionality I'm going to have to reimplement. Having fun so far. > FWIW I've allready all this boring stuff. I you want you can look at my branch at https://github.com/jockej/emacs-mirror2 branch arne-without-parent. The interface is always the same*: Gather all the interesting overlays in a vector. The affected files are pretty much buffer.c, xdisp.c, xfaces.c, insdel.c and fileio.c IIRC. Somewhere towards the end ofoverlays.c in my branch (before the new lisp functions) are my implementations of those gathering functions. I think I got all the places covered. *There are some that are slightly different, like next_overlay_start and such, but it's mostly the same.