From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: line buffer as Red Black Trees instead of linear Date: Wed, 21 May 2014 18:17:42 +0300 Message-ID: <83ha4jnotl.fsf@gnu.org> References: <83mwein6w1.fsf@gnu.org> <83fvkamg9v.fsf@gnu.org> <837g5mm8ke.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1400685477 28033 80.91.229.3 (21 May 2014 15:17:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 21 May 2014 15:17:57 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Alin Soare Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed May 21 17:17:49 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wn8H4-0001MT-NV for ged-emacs-devel@m.gmane.org; Wed, 21 May 2014 17:17:46 +0200 Original-Received: from localhost ([::1]:60356 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn8H4-0001IT-77 for ged-emacs-devel@m.gmane.org; Wed, 21 May 2014 11:17:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33094) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn8Gx-0001I6-1A for emacs-devel@gnu.org; Wed, 21 May 2014 11:17:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wn8Gr-0001JY-SY for emacs-devel@gnu.org; Wed, 21 May 2014 11:17:38 -0400 Original-Received: from mtaout24.012.net.il ([80.179.55.180]:37810) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wn8Gr-0001JH-Ji for emacs-devel@gnu.org; Wed, 21 May 2014 11:17:33 -0400 Original-Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0N5X00A00J8XMN00@mtaout24.012.net.il> for emacs-devel@gnu.org; Wed, 21 May 2014 18:14:29 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N5X007ERJO5N550@mtaout24.012.net.il>; Wed, 21 May 2014 18:14:29 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.180 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:171988 Archived-At: > Date: Wed, 21 May 2014 11:34:10 +0300 > From: Alin Soare > Cc: Stefan Monnier , emacs-devel@gnu.org > > Ideally, at each node all the text should have the same properties (marks, > fonts, etc), and chaging 1 such property can be implemented by splitting > the node or removing a few nodes, and their text be preserved in 1 node > (only the field owner must be changed when a few nodes are joined in only > 1). That would mean we will need to rearrange the tree each time text properties or overlays change, something we avoid today. Also please note that 'display' properties can specify that Emacs displays something entirely different from buffer text, so the display engine will still need to consult Lisp strings, in addition to the text. (Yes, it's lots of fun.)