From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs and Gnome Canvas Date: Thu, 15 Jul 2010 18:27:49 +0200 Message-ID: <877hkwbth6.fsf@telefonica.net> 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> <83aaptgly1.fsf@gnu.org> <4C3ED4F9.4080603@swipnet.se> <83630hgi0r.fsf@gnu.org> <4C3EE8D6.3020607@swipnet.se> <8339vlgcax.fsf@gnu.org> <87fwzkbzg8.fsf@telefonica.net> <877hkwag6y.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1279211302 26189 80.91.229.12 (15 Jul 2010 16:28:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 15 Jul 2010 16:28:22 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 15 18:28:20 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 1OZRIK-0001dN-4T for ged-emacs-devel@m.gmane.org; Thu, 15 Jul 2010 18:28:20 +0200 Original-Received: from localhost ([127.0.0.1]:60346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZRIJ-0005Hl-Bl for ged-emacs-devel@m.gmane.org; Thu, 15 Jul 2010 12:28:19 -0400 Original-Received: from [140.186.70.92] (port=60382 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZRIC-0005GJ-0X for emacs-devel@gnu.org; Thu, 15 Jul 2010 12:28:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OZRIA-0006SF-Jr for emacs-devel@gnu.org; Thu, 15 Jul 2010 12:28:11 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:45192) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OZRIA-0006Rv-9F for emacs-devel@gnu.org; Thu, 15 Jul 2010 12:28:10 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OZRI4-0001Xx-QG for emacs-devel@gnu.org; Thu, 15 Jul 2010 18:28:04 +0200 Original-Received: from 83.42.13.171 ([83.42.13.171]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 15 Jul 2010 18:28:04 +0200 Original-Received: from ofv by 83.42.13.171 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 15 Jul 2010 18:28:04 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 50 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 83.42.13.171 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:wGvlJ0mzD4HhwYHVWpzHDW+6T1k= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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:127376 Archived-At: Chong Yidong writes: > Óscar Fuentes writes: > >> AFAIK the display system have evolved from the tty one by incremental >> updates > > No, the redisplay system was redesigned during Emacs 21 specifically > with both tty and graphical terminals in mind. It did not evolve > mindlessly; the design has a very specific logic behind it. As long as > we support tty, there is no getting rid of the redisplay iterator. What I'm thinking on is not to remove the current display system. Is about implementing a parallel one. I know from the start that the stuff I'll use *if* the plan goes ahead is not acceptable for key Emacs developers, so it would be a throw-away project, but nevertheless it would give information about what can be expected from that approach. [snip] > It is still not too clear to me what we would gain from a Canvas-type > revamp of redisplay, relative to the large costs involved. It does not > seem like a promising avenue of development. One of the main insights we could get from the experimental plan I referred to above is to know the cost/benefit ratio. > A more promising route is the one that Yamamoto Mitsuharu has explored, > mentioned earlier in this thread, which (IIUC) treats Cairo as a > graphical terminal to render onto, on the same footing as the > tty/X/Windows/NS terminals. Here, I can see a reasonable path to real > improvement. For example, it might allow us to use the GTK printing > infrastructure, which operates on Cairo contexts. If you are interested > in redisplay development, that is the direction I'd suggest looking > into. Would that system allow to draw UML diagrams with real graphics, instead of ASCII? Would it allow to implement a real graphical view for the DAG of a dVCS history? In short, would it a real drawing surface where you can draw arbitrary stuff and react to user actions such as the user clicking and dragging a line, preferably from Elisp code? Anyways, I'm not interested on learning about the current display engine. I was told that it is very complex and only a few gurus have a real grasp of it, so very likely adding the features I'll like to see in Emacs would be a daunting task. I'm more interested on a simpler approach: here is the data, display it. The only thing I really fear is finding that other parts of Emacs (high-level event handling or content change management, for instance) are tightly coupled with the current display engine.