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: Fri, 16 Jul 2010 16:24:11 +0200 Message-ID: <87630fa4j8.fsf@telefonica.net> References: <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> <877hkwbth6.fsf@telefonica.net> <83pqyofzdg.fsf@gnu.org> <8739vkbpq5.fsf@telefonica.net> <83oce8fwlq.fsf@gnu.org> <87tyo0a11p.fsf@telefonica.net> <83k4ovg7rn.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1279290482 14847 80.91.229.12 (16 Jul 2010 14:28:02 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 16 Jul 2010 14:28:02 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 16 16:28:01 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 1OZltH-0003b0-72 for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 16:27:59 +0200 Original-Received: from localhost ([127.0.0.1]:35064 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZlt0-00047h-Ts for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 10:27:34 -0400 Original-Received: from [140.186.70.92] (port=37734 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZlq4-0002fJ-EQ for emacs-devel@gnu.org; Fri, 16 Jul 2010 10:24:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OZlpw-0004aL-5z for emacs-devel@gnu.org; Fri, 16 Jul 2010 10:24:25 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:54419) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OZlpv-0004aC-Se for emacs-devel@gnu.org; Fri, 16 Jul 2010 10:24:24 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OZlpr-0001yU-Gd for emacs-devel@gnu.org; Fri, 16 Jul 2010 16:24:19 +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 ; Fri, 16 Jul 2010 16:24:19 +0200 Original-Received: from ofv by 83.42.13.171 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 16 Jul 2010 16:24:19 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 40 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:epxPYzx4grCX0dWINrJBrDbYeJI= 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:127436 Archived-At: Eli Zaretskii writes: >> > C++ is not the fastest language to get a job done. >> >> That's very true. Unfortunately, AFAIK there is no Free high quality >> cross platform GUI for Lisp :-) > > If we are talking a throw-away project, why not Python? That's a lot of work, because requires creating the necessary bindings. With C++ all Emacs structures and functions are readily accessible. > I meant link-time and run-time compatibility, not syntactic > compatibility. I use C code on my C++ projects all the time, without those issues. Why Emacs should be different? >> Apart from reading all the source code, I hope that it is possible to >> look into just a few header files for learning the interface of the >> display engine. > > Unfortunately, I'm not sure. The header is dispextern.h, but if you > read through it, you will find that it mixes internal details of the > current implementation with external APIs in a way that discerning one > from the other is not trivial. I was expecting that and it is the reason why I'm not very enthusiastic about studying the source code. > I would suggest instead to study the basic display iterator (defined > as `struct it') and the iteration process, implemented in two parts: > get_next_display_element and set_iterator_to_next. These two and the > subroutines of get_next_display_element (next_element_from_*) are > where you see all the top-level features that the current display > engine implements; reading the relevant parts of the ELisp manual will > complete the picture regarding each one of the features. Noted. Thanks!