From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Patch: perform autoloading when docs is missing from autoload object Date: Sat, 18 Sep 2021 09:37:57 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23893"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Arthur Miller Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 18 15:38:40 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mRaYC-00065M-3H for ged-emacs-devel@m.gmane-mx.org; Sat, 18 Sep 2021 15:38:40 +0200 Original-Received: from localhost ([::1]:50854 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mRaYB-0005O9-2i for ged-emacs-devel@m.gmane-mx.org; Sat, 18 Sep 2021 09:38:39 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mRaXd-0004iS-JD for emacs-devel@gnu.org; Sat, 18 Sep 2021 09:38:05 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:3040) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mRaXa-0005dX-4f for emacs-devel@gnu.org; Sat, 18 Sep 2021 09:38:04 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5DB238078F; Sat, 18 Sep 2021 09:37:59 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 006F98009D; Sat, 18 Sep 2021 09:37:57 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1631972278; bh=xbodahUKVqXXGWUa7fDWmU8ZIFCcVm4Pwpmfklz9Rrk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=C0MoDQm8GSBH3WzRDetAJkbUqt9B8egKpmjB6eWopsI0EX1clhFBKqHU5kQ8oeSIH 3qfWdAqxL6O6dQx+Q0UZlkjUzdWN39zpDUxp7CBmewQamOfwcBh7eBy8OqyFc6kgmm 47mWh50Xfetl8YjQli6FrpzGdylLmHLmN0//NFQhWgCGYgUHVzQk7X05fYaXqenqH3 Ee9DyTFJ/2UwhFNbBDVN5th5vhA0BOfhpkEWpfSVfP07V/Y0iVl/fYVYW3+vYm9ShD y7UNqjJqWSGY2rVKJMYNtTgt+8xOw6Drh6UAJ5xc00YYSs8QhC2ta7fg2LRZVvNex8 O0i1OoJT2f/LQ== Original-Received: from milanesa (unknown [45.72.241.23]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C08AE120473; Sat, 18 Sep 2021 09:37:57 -0400 (EDT) In-Reply-To: (Arthur Miller's message of "Fri, 17 Sep 2021 23:09:29 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:274993 Archived-At: > I just tested with generated package-quickstart.el file. Below is what I get > when I M-: (symbol-function 'winum-select-window-0), as both before I > byte-compiled and after I byte-compiled: How did you perform the test? I tested it on my end with the `loaddefs.el` file and "it worked", but it required several tweaks (like removing the `no-byte-compile:t` from the file-local variables, and telling `loadup.el` to load `loaddefs` rather than `loaddefs.el`). So I wouldn't be surprised if you need to take extra steps to convince Emacs to compile the file and to load the compiled version of the file. > So the entire business of docs in autoloads is due to autoload file generation, > seems to me, if I don't misunderstanding something? I'm afraid I don't know what you mean by "business of docs in autoloads". > I certainly have no problems if autoloads generation is fixed and > built-in autoloads file generator emitted byte offsets instead of kilo > bytes of fully embedded docs. Indeed, I think we should be possible to change `autoload.el` so that it directly generates the "comment + byte-offsets" form in the .el files so we don't even need to byte-compile them. Not sure if it's a better than byte-compiling them. > But there is the case that nil is a valid value for doc in autoload > object, and thus I think it is still important to fix help system, to > fetch docs on demand. That's true. We could also just always use nil and always load the source file to find the doc. I'm not sure in that case it'd be worth the trouble trying to avoid loading the whole file (I think it'd take a fair bit of effort to make it work reliably enough). Stefan