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: Emacs and Gnome Canvas Date: Thu, 15 Jul 2010 11:59:18 +0300 Message-ID: <83aaptgly1.fsf@gnu.org> References: <4C3CD120.4040905@swipnet.se> <5A91499A-0470-43FD-9F48-560CEAD3424C@mit.edu> <83wrsyr068.fsf@gnu.org> <83iq4hhjww.fsf@gnu.org> <87sk3lbvv0.fsf@telefonica.net> <83hbk1grnq.fsf@gnu.org> <4C3EBCDC.8050709@swipnet.se> <83d3upgmwj.fsf@gnu.org> <4C3ECB4C.6050208@swipnet.se> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: dough.gmane.org 1279184550 25786 80.91.229.12 (15 Jul 2010 09:02:30 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 15 Jul 2010 09:02:30 +0000 (UTC) Cc: ofv@wanadoo.es, emacs-devel@gnu.org To: =?UTF-8?B?SmFuIERqw6Rydg==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 15 11:02:27 2010 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.69) (envelope-from ) id 1OZKKo-00064f-5Q for ged-emacs-devel@m.gmane.org; Thu, 15 Jul 2010 11:02:26 +0200 Original-Received: from localhost ([127.0.0.1]:59773 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZKKn-0001El-FF for ged-emacs-devel@m.gmane.org; Thu, 15 Jul 2010 05:02:25 -0400 Original-Received: from [140.186.70.92] (port=53720 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZKKP-0001Cr-FI for emacs-devel@gnu.org; Thu, 15 Jul 2010 05:02:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OZKKO-00060T-1L for emacs-devel@gnu.org; Thu, 15 Jul 2010 05:02:01 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:35036) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OZKKN-000609-R5 for emacs-devel@gnu.org; Thu, 15 Jul 2010 05:02:00 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0L5L00D00D0QOQ00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Thu, 15 Jul 2010 12:01:15 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([77.127.120.144]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L5L00DX9D22KO00@a-mtaout21.012.net.il>; Thu, 15 Jul 2010 12:01:15 +0300 (IDT) In-reply-to: <4C3ECB4C.6050208@swipnet.se> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) 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:127337 Archived-At: > Date: Thu, 15 Jul 2010 10:48:12 +0200 > From: Jan Dj=C3=A4rv > CC: ofv@wanadoo.es, emacs-devel@gnu.org >=20 > >> The changes that require redisplay would have to notify the Canv= as that things > >> changed. I think this style is more efficient. > > > > What do you mean by "changes that require redisplay"? Suppose a > > character was inserted or deleted -- would that need to notify th= e > > Canvas? >=20 > Yes. But the inserted character could be in the portion that is not displayed at all, in which case it does not "require redisplay". Who should decide whether redisplay is necessary? If that's Emacs, then it should know a lot about the display layout. If its the Canvas, then it should know a lot about what portions of the buffer text are on the screen. Besides, this mean a thorough redesign of Emacs objects. Currently, they are totally unaware of the display engine, and don't request any redisplays. They just modify themselves and that's it. > > How about an arbitrary mouse move? >=20 > If it resulted in a different highlightning of a link, yes. Again, how to know that? Note that some mouse movements perform complex operations on Emacs objects, like popping up windows and frames.