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: Rewriting make-docfile.c in Lisp? Date: Wed, 05 May 2021 17:34:01 -0400 Message-ID: References: <87zgx9rx7w.fsf@catern.com> <83bl9p2m6s.fsf@gnu.org> <87v97xrurb.fsf@catern.com> <87r1ilrpnt.fsf@catern.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5470"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Spencer Baugh , Alan Mackenzie , Eli Zaretskii , emacs-devel@gnu.org To: Glenn Morris Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed May 05 23:38:48 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 1lePEG-0001I2-8s for ged-emacs-devel@m.gmane-mx.org; Wed, 05 May 2021 23:38:48 +0200 Original-Received: from localhost ([::1]:41546 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lePEE-0001If-RK for ged-emacs-devel@m.gmane-mx.org; Wed, 05 May 2021 17:38:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leP9m-0003cV-7w for emacs-devel@gnu.org; Wed, 05 May 2021 17:34:10 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:4417) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1leP9j-0000Vu-Jf; Wed, 05 May 2021 17:34:09 -0400 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 22CA6100317; Wed, 5 May 2021 17:34:05 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5FA1B1001F3; Wed, 5 May 2021 17:34:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1620250443; bh=KVakf+XiTgm71/qeCA9agukMVXhtS5O5zIN6Oa3J5eE=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=SxdbiDLkVp8/WeKvMY/xLdiU0qMmEuww27C2dAIQTFdhCLaIAueLEatkKWliaNm50 7UlllOFMjOUE0HZduUdZuLiT1gwyMMCqcJ2Ey6mcpmsah45GQJQCUvEi+N+CSdbnGn AbAeCtvQ6oMBVoNpop/P6Pd8uiZ0MrniPHYQ9QrL//T+6PQ4CAQ5lVNmkI3kSQbmDo pFoD5zq2/kAqtnENd0O8nL04PD/OY35Tf3ETd6YVDdnuit//gls3nyG6VTAwfrsMVL xV3OheYkf1TKEGYRACWYA8eh4sXOMPvmsplAM+rmvswCWOI1X3Yf/cEKAxFLIvd6aw kHR4jSbtabGxQ== Original-Received: from alfajor (76-10-140-76.dsl.teksavvy.com [76.10.140.76]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0F60E120181; Wed, 5 May 2021 17:34:03 -0400 (EDT) In-Reply-To: (Stefan Monnier's message of "Wed, 05 May 2021 17:18:59 -0400") 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:268936 Archived-At: >>> Agreed: I'm generally all for writing ELisp instead of C, but >>> I wouldn't bother rewriting this code in ELisp, personally. >> Sounds like the etc/TODO entry that suggests doing just this should be >> updated/removed then. It refers to >> https://lists.gnu.org/r/emacs-devel/2012-06/msg00037.html > But there the idea was specifically for the scan of .el(c) files and not > for the scan of C files. Also the idea was not to implement a new > scanning code but to do it from existing code that already looks at > the files (e.g. `autoloads.el` or the `bytecomp.el`). BTW, personally, I think a better goal would be to try and eliminate the DOC file altogether: for the docstrings coming from C code we should be able to keep them in normal static variables (and move them to a separate section with `_attribute__ ((section (".docstrings")))` or something like that), and for the docstrings coming from preloaded ELisp files we can fetch them from the .elc file like we do for non-preloaded files. The `make-docfile.c` would still be needed (probably under a new name) for things like `global.h`, of course, and I don't see a convenient way to replace it with a version written in ELisp for bootstrapping reasons. Stefan