From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?Q?Aur=C3=A9lien_Aptel?= Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Tue, 17 Feb 2015 18:46:33 +0100 Message-ID: References: <838ugdf251.fsf@gnu.org> <87bnl1vmqf.fsf@lifelogs.com> <87vbj8tow4.fsf@lifelogs.com> <87r3twtagf.fsf@lifelogs.com> <85siebl7ws.fsf@stephe-leake.org> <85a90ilwmm.fsf@stephe-leake.org> <83386a6f7z.fsf@gnu.org> <85h9upjz7v.fsf@stephe-leake.org> <83wq3k3kl4.fsf@gnu.org> <85bnkwil1c.fsf@stephe-leake.org> <83pp9cwky8.fsf@gnu.org> <85a90ggf2d.fsf@stephe-leake.org> <54E0A40F.5080603@dancol.org> <83sie7un20.fsf@gnu.org> <54E0D181.2080802@dancol.org> <83r3trulse.fsf@gnu.org> <54E0D7E0.305@87.69.4.28> <83h9unukbg.fsf@gnu.org> <54E0DEF8.7020901@dancol> <83egpruiyp.fsf@gnu.org> <54E0FF93.2000104@dancol.org> <833865vp4d.fsf@gnu.org> <54E2355A.90@87.69.4.28> <83vbj1u020.fsf@gnu.org> <54E24CA4.9020601@dancol.org> <83h9uk7ddb.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1424195220 19788 80.91.229.3 (17 Feb 2015 17:47:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 17 Feb 2015 17:47:00 +0000 (UTC) Cc: Daniel Colascione , Stephen Leake , Emacs development discussions To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 17 18:46:48 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 1YNmEP-00009E-3U for ged-emacs-devel@m.gmane.org; Tue, 17 Feb 2015 18:46:45 +0100 Original-Received: from localhost ([::1]:46624 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNmEO-0002dx-I3 for ged-emacs-devel@m.gmane.org; Tue, 17 Feb 2015 12:46:44 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNmEL-0002dp-1r for emacs-devel@gnu.org; Tue, 17 Feb 2015 12:46:42 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YNmEK-0007bo-2E for emacs-devel@gnu.org; Tue, 17 Feb 2015 12:46:40 -0500 Original-Received: from mail-ie0-f177.google.com ([209.85.223.177]:39660) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YNmEE-0007Na-Ga; Tue, 17 Feb 2015 12:46:34 -0500 Original-Received: by iecvy18 with SMTP id vy18so42594953iec.6; Tue, 17 Feb 2015 09:46:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=vZyuVJ15LHnzcuPNq9gxzG6hyJz8DYC5tkZjPTsTtWE=; b=PcoMhpDatexI/At3nX+RD3yGu3J7qC9YKGTeU7qEfAk+OP2vpYkJSqFuSxbZKXI61v +HL3wjHr/zptnK73Ckr4k9TQgdf3e0wOtP+Twa3EGJPc1Kdt7X1hgQI9hPBwAmKoaOse A0/UxIHnE8clMFlUOCHCqne3XQuJ4x4WlRjeW6Y1+xgcDqaBxV2uAenFL+i97FM9XIWU dW2EXrq4K/qZuG7W+RuQXpHWvmC3lNQQoUKzSYE16UaNhd23Uj/Yqh/zXA9jzFlPT7dO vtrpS/p+rW47tWG/883Yv1fkIB3ebZBPCAlL2uO/3BIB7tc7mEsVvt3uFl8brxn3kMCu TQCQ== X-Received: by 10.42.229.10 with SMTP id jg10mr2804772icb.62.1424195193461; Tue, 17 Feb 2015 09:46:33 -0800 (PST) Original-Received: by 10.36.19.71 with HTTP; Tue, 17 Feb 2015 09:46:33 -0800 (PST) In-Reply-To: <83h9uk7ddb.fsf@gnu.org> X-Google-Sender-Auth: eD1zcvQAgYi6b5Juc8qqdaT7y9M X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.223.177 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:183199 Archived-At: I'm with Eli on the versionning choice but it's just bike shedding at this point. Interning all the time seems tedious and probably (a bit?) slow but moving the interning on Emacs side won't change the slow part. At least on the module side you can do it once and reuse the result. Or maybe you shouldn't if the user changes the binding in the meantime? On Tue, Feb 17, 2015 at 4:43 PM, Eli Zaretskii wrote: >> By path, I imagine. > > What path is that? Where and how will Lisp code find it? > >> Why don't you have this problem with (load "myfile.el")? > > Because myfile.el normally does a (provide 'myfile), and then I can > use featurep. > >> I'm not opposed to hooking modules into the provide-and-require >> machinery, but I don't see a particular need either. > > The need is to have an easy way of checking that a module is > available, without risking loading it twice, or having to jump through > hoops. We should call `provide' in the module (like in my module branch) using the API. Problem solved? Concerning docstrings, we just have to teach the makedoc utility how to extract them from this new module system. Then the module loading code can read that along with loading the module as it's done in my branch, where the doc string field of a Lisp_Subr can be a (cons "doc/file/path" offset) instead of simply . So the real remaining issues are - module code is tedious to write because you have to check for errors all the time - interning all the time is slow, probably? (needs some testing) - Sorry, I'm sure I've overlooked some things, I'll re-read all the discussion later.