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: Fri, 16 Jul 2010 11:17:48 +0300 Message-ID: <83k4ovg7rn.fsf@gnu.org> References: <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> <877hkwbth6.fsf@telefonica.net> <83pqyofzdg.fsf@gnu.org> <8739vkbpq5.fsf@telefonica.net> <83oce8fwlq.fsf@gnu.org> <87tyo0a11p.fsf@telefonica.net> 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 1279268410 987 80.91.229.12 (16 Jul 2010 08:20:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 16 Jul 2010 08:20:10 +0000 (UTC) Cc: emacs-devel@gnu.org To: =?utf-8?Q?=C3=93scar_Fuentes?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 16 10:20:09 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 1OZg9Q-0005nt-6H for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 10:20:08 +0200 Original-Received: from localhost ([127.0.0.1]:50221 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZg9P-00065x-Dv for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 04:20:07 -0400 Original-Received: from [140.186.70.92] (port=37126 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZg9D-00063g-Lg for emacs-devel@gnu.org; Fri, 16 Jul 2010 04:19:56 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OZg99-0006Ck-DC for emacs-devel@gnu.org; Fri, 16 Jul 2010 04:19:55 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:40471) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OZg99-0006Cd-2z for emacs-devel@gnu.org; Fri, 16 Jul 2010 04:19:51 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0L5N00B005PPVA00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Fri, 16 Jul 2010 11:19:44 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([77.127.120.144]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L5N007555SV1QL0@a-mtaout20.012.net.il>; Fri, 16 Jul 2010 11:19:44 +0300 (IDT) In-reply-to: <87tyo0a11p.fsf@telefonica.net> 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:127415 Archived-At: > From: =C3=93scar Fuentes > Date: Thu, 15 Jul 2010 23:27:14 +0200 >=20 > Eli Zaretskii writes: >=20 > >> I would use Qt, hence C++, not being shy about using advanced la= nguage > >> features if necessary. That is for getting a working system as s= oon as > >> possible. > > > > C++ is not the fastest language to get a job done. >=20 > That's very true. Unfortunately, AFAIK there is no Free high qualit= y > cross platform GUI for Lisp :-) If we are talking a throw-away project, why not Python? > > Plus, you'll have unrelated job on your hands of making Emacs > > C++-compliant, as discussed in another thread. >=20 > Only the Emacs header files that the display engine needs must be > acceptable by g++. The .c files would be compiled by gcc as usual. I meant link-time and run-time compatibility, not syntactic compatibility. > 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 on= e =66rom the other is not trivial. 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 wil= l complete the picture regarding each one of the features.