From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sun, 08 Feb 2015 22:26:12 -0800 Organization: UCLA Computer Science Department Message-ID: <54D85304.1030600@cs.ucla.edu> References: <87y4t9m76w.fsf@lifelogs.com> <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <54D80098.3020209@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1423463196 17952 80.91.229.3 (9 Feb 2015 06:26:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 9 Feb 2015 06:26:36 +0000 (UTC) Cc: =?UTF-8?B?QXVyw6lsaWVuIEFwdGVs?= , Eli Zaretskii , Stephen Leake , Emacs development discussions To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 09 07:26:36 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YKhnm-0003g5-LK for ged-emacs-devel@m.gmane.org; Mon, 09 Feb 2015 07:26:34 +0100 Original-Received: from localhost ([::1]:59122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKhnl-0003OG-AH for ged-emacs-devel@m.gmane.org; Mon, 09 Feb 2015 01:26:33 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36529) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKhnY-0003O0-2C for emacs-devel@gnu.org; Mon, 09 Feb 2015 01:26:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YKhnX-00028m-BM for emacs-devel@gnu.org; Mon, 09 Feb 2015 01:26:20 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:51187) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YKhnR-00028A-W2; Mon, 09 Feb 2015 01:26:14 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B48A9A60037; Sun, 8 Feb 2015 22:26:12 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mYzFpUNgXrOP; Sun, 8 Feb 2015 22:26:12 -0800 (PST) Original-Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net [173.55.11.52]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 60803A60028; Sun, 8 Feb 2015 22:26:12 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 131.179.128.62 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:182662 Archived-At: Stefan Monnier wrote: > he's talking about code in plugins, i.e. code which needs to be > compiled seaprately from Emacs itself and where the .(s)o file needs to > be re-usable with several different Emacs executables First, in that case the value of Qabove is known at link-time, and compil= ers=20 should be able to do a better job with link-time constants than with vari= ables. Second, even plugins can be subject to link-time optimization, if one's l= inker=20 is smart enough, as gold is. I hadn't considered either of these possibilities when adding the lispsym= =20 support, so Aur=C3=A9lien's approach of calling 'intern' is the best we c= an do now.=20 However, I suggest packaging those calls into a function ('module_defsym'= , say?)=20 so that its implementation can be improved later, if someone wants to wor= k on that. One other thing: I don't see the point of prefixing global module symbols= with=20 'MQ' as opposed to 'Q'. Users of these symbols shouldn't care whether a = module=20 defined them, or the core interpreter defined them.