From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#67455: (Record source position, etc., in doc strings, and use this in *Help* and backtraces.) Date: Wed, 27 Mar 2024 03:35:41 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23901"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, Eli Zaretskii , 67455@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 27 04:36:27 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1rpK5T-00061b-IM for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 Mar 2024 04:36:27 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rpK57-0002yA-9v; Tue, 26 Mar 2024 23:36:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rpK54-0002xr-RK for bug-gnu-emacs@gnu.org; Tue, 26 Mar 2024 23:36:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rpK54-0003N3-Jc for bug-gnu-emacs@gnu.org; Tue, 26 Mar 2024 23:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rpK53-0003mP-Rl for bug-gnu-emacs@gnu.org; Tue, 26 Mar 2024 23:36:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 Mar 2024 03:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67455 X-GNU-PR-Package: emacs Original-Received: via spool by 67455-submit@debbugs.gnu.org id=B67455.171151055414506 (code B ref 67455); Wed, 27 Mar 2024 03:36:01 +0000 Original-Received: (at 67455) by debbugs.gnu.org; 27 Mar 2024 03:35:54 +0000 Original-Received: from localhost ([127.0.0.1]:35492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpK4v-0003lu-Q2 for submit@debbugs.gnu.org; Tue, 26 Mar 2024 23:35:54 -0400 Original-Received: from mail.muc.de ([193.149.48.3]:46607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rpK4q-0003lF-C0 for 67455@debbugs.gnu.org; Tue, 26 Mar 2024 23:35:52 -0400 Original-Received: (qmail 13490 invoked by uid 3782); 27 Mar 2024 04:35:42 +0100 Original-Received: from acm.muc.de (pd953a0c3.dip0.t-ipconnect.de [217.83.160.195]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Wed, 27 Mar 2024 04:35:42 +0100 Original-Received: (qmail 7587 invoked by uid 1000); 27 Mar 2024 03:35:41 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:282121 Archived-At: Hello, Stefan. On Tue, Mar 26, 2024 at 16:42:28 -0400, Stefan Monnier wrote: > > r-p-defined-s positions only lambdas and NAMEs defined by defun, > > defmacro, defvar, .... (around 50 defining symbols). r-p-s positions > > every symbol apart from nil. They have different purposes. r-p-d-s > > gets info for the doc strings, which requires SWPs only for some > > symbols. r-p-s is needed to get warning message locations. Were r-p-s > > used for the doc string position information, most of the symbols would > > need to be stripped of their positions before the form could be used. > > It is simpler and faster not to position them at all. > In terms of code, I can't see why it'd be simpler: we already have the > r-p-s function, .... We also already have r-p-d-s. Both functions (together with plain read) have read0 as their core engine. The enhancement to read0 to support r-p-d-s was only moderate in size and not complicated to anybody who understands finite state machines. > .... and we already have a function to strip that info when we don't > need it any more, so it would be less new code to write if we just > used r-p-s, I think. I think you're envisaging an extensive redesign where SWPs would not be tightly and individually controlled as they are at the moment, but instead would be created en masse and stripped en masse a bit later. There seems to me to be little justification for this. It would need more code in byte-run.el, and would be slower, too. It would take a lot of work to implement and debug. At the moment, some SWPs (to do with "complicated" backquoted lambda forms) survive long term, meaning we would need complicated Lisp code to protect these individually. > Stefan -- Alan Mackenzie (Nuremberg, Germany).