From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Freddy Chik" Newsgroups: gmane.emacs.devel Subject: Re: Interval tree Date: Wed, 17 Jul 2002 18:39:47 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: References: <200207171313.g6HDDHY02385@rum.cs.yale.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1026944968 29588 127.0.0.1 (17 Jul 2002 22:29:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 17 Jul 2002 22:29:28 +0000 (UTC) Cc: Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17UxIV-0007h7-00 for ; Thu, 18 Jul 2002 00:29:27 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17UxU7-0002G7-00 for ; Thu, 18 Jul 2002 00:41:27 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17UxIP-0003uh-00; Wed, 17 Jul 2002 18:29:21 -0400 Original-Received: from oe28.law9.hotmail.com ([64.4.8.85] helo=hotmail.com) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17UxH7-0003t4-00 for ; Wed, 17 Jul 2002 18:28:01 -0400 Original-Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Wed, 17 Jul 2002 15:28:00 -0700 X-Originating-IP: [216.75.175.50] Original-To: "Stefan Monnier" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 17 Jul 2002 22:28:00.0449 (UTC) FILETIME=[35465B10:01C22DE1] Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:5846 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:5846 it sounds like text properties are things like fonts? I jumped into places such as lisp.h, buffer.h, textprop.c, hoping to find a definition for this thing, but all I got is a Lisp_Object plist (even for functions that adds to the property list or removes from it), where is this mysterious text property structure described? Yu Fai Freddy Chik 4A Computer Science / Combinatorics and Optimization University of Waterloo Waterloo, ON ------------------------------------------------------------ -- Computer Science is the study of algorithmic processes -- -- that limit the amount of time one has to perform daily -- ----- activities such as sleeping, eating, exercising, ----- ---- bathing, dating and improving ones social skills. ----- ------------------------------------------------------------ ----- Original Message ----- From: "Stefan Monnier" To: "Freddy Chik" Cc: Sent: Wednesday, July 17, 2002 9:13 AM Subject: Re: Interval tree > > I am trying to understand how are text organized in emacs, > > I come across this data structure call interval tree, which > > is built on top of a buffer, can anyone point me to any paper > > which talks about what an interval tree is and how this interval > > concepts is used in emacs? thanks > > Please don't use HTML for such email (and complain to the author of > the software you use that it should not use HTML if the text doesn't > use any attribute annotation). > > As for the actual question: I don't think there's any paper about it. > It's just a balanced binary tree used to implement text-properties > (which associate with each buffer location a set of properties). > Since text-properties tend to stay the same over several consecutive > chars, the mapping only records the place where those properties > change: each node of the tree corresponds to an interval that starts > at a particular position and spans some number of chars. > > > Stefan > > > _______________________________________________ > Emacs-devel mailing list > Emacs-devel@gnu.org > http://mail.gnu.org/mailman/listinfo/emacs-devel >