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 18:19:21 +0300 Message-ID: <83d3unfo92.fsf@gnu.org> 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> <87630fa4j8.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 1279294880 31369 80.91.229.12 (16 Jul 2010 15:41:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 16 Jul 2010 15:41:20 +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 17:41:18 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 1OZn2G-0005bk-P7 for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 17:41:12 +0200 Original-Received: from localhost ([127.0.0.1]:56389 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZmic-0004wO-DE for ged-emacs-devel@m.gmane.org; Fri, 16 Jul 2010 11:20:54 -0400 Original-Received: from [140.186.70.92] (port=48711 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OZmiU-0004lY-AR for emacs-devel@gnu.org; Fri, 16 Jul 2010 11:20:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OZmiE-0002eo-UX for emacs-devel@gnu.org; Fri, 16 Jul 2010 11:20:32 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:55672) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OZmiE-0002ej-Mx for emacs-devel@gnu.org; Fri, 16 Jul 2010 11:20:30 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0L5N00400P088C00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Fri, 16 Jul 2010 18:19:23 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([77.127.120.144]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0L5N000LLP89UZC0@a-mtaout20.012.net.il>; Fri, 16 Jul 2010 18:19:23 +0300 (IDT) In-reply-to: <87630fa4j8.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:127440 Archived-At: > From: =C3=93scar Fuentes > Date: Fri, 16 Jul 2010 16:24:11 +0200 >=20 > > I meant link-time and run-time compatibility, not syntactic > > compatibility. >=20 > I use C code on my C++ projects all the time, without those issues.= Why > Emacs should be different? Because Emacs uses some techniques that a rare C program does. I mentioned some of them in another thread. Here's a recap: . The "relocatable allocator" which moves memory of allocated objects (such as the buffer text) when large chunks of memory are allocated or freed. Also, allocation of memory off the pure space, during the build process. These will probably need a custom new/delete implementations, and various C++ techniques suc= h as smart pointers may need to be adjusted, or not used. . The dump and restart process: it's possible that various C++ features such as static constructors will ``need some work'' to survive these atrocities. That might need hacking the libraries you use, if you have the sources. And if you are going to use Qt, you will also need to consider the implication of the above on its objects.