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: Sun, 10 Mar 2024 22:27:29 +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="23625"; 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 Sun Mar 10 23:28:43 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 1rjRet-00060f-Dk for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 10 Mar 2024 23:28:43 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rjRei-0007AY-VV; Sun, 10 Mar 2024 18:28:33 -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 1rjRef-0007A7-Gv for bug-gnu-emacs@gnu.org; Sun, 10 Mar 2024 18:28:29 -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 1rjRef-0006aa-19 for bug-gnu-emacs@gnu.org; Sun, 10 Mar 2024 18:28:29 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rjRfC-000762-6N for bug-gnu-emacs@gnu.org; Sun, 10 Mar 2024 18:29:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Mar 2024 22:29:02 +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.171010969227219 (code B ref 67455); Sun, 10 Mar 2024 22:29:02 +0000 Original-Received: (at 67455) by debbugs.gnu.org; 10 Mar 2024 22:28:12 +0000 Original-Received: from localhost ([127.0.0.1]:38139 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjReO-00074x-2b for submit@debbugs.gnu.org; Sun, 10 Mar 2024 18:28:12 -0400 Original-Received: from mail.muc.de ([193.149.48.3]:19990) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjReL-00074j-DY for 67455@debbugs.gnu.org; Sun, 10 Mar 2024 18:28:09 -0400 Original-Received: (qmail 94022 invoked by uid 3782); 10 Mar 2024 23:27:30 +0100 Original-Received: from acm.muc.de (pd953a236.dip0.t-ipconnect.de [217.83.162.54]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 10 Mar 2024 23:27:29 +0100 Original-Received: (qmail 22125 invoked by uid 1000); 10 Mar 2024 22:27:29 -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:281443 Archived-At: Hello again, Stefan. On Sun, Mar 10, 2024 at 13:19:03 -0400, Stefan Monnier wrote: [ .... ] > >> - My gut tells me that changing backquote can't be right. > > I tend to agree. I put the code into backquote-process when having > > problems with things like: > > (mapatoms #'(lambda (,(car spec)) ,@body) [ .... ] > >> (lambda (f) ..) *can* appear within a backquote without it being an > >> actual lambda expression. > >> What alternatives have you considered? > > Not a lot of them, as yet. Maybe testing for (function (lambda ...)) > > would be safer. > No matter how many extra tests you add to reduce the frequency, you're > fundamentally adding a bug :-( Well, macroexp--expand-all has treated (function (lambda ...)) as a function long before I started on this project in November. Would trusting the same thing in backquote-process be any more dangerous? Anyway, I've started looking at getting that extra code out of backquote.el. Simply commenting it out produces build time errors, which shows that it's not totally redundant. How about adding (an) extra arm(s) to the large pcase in macroexp--expand-all which would recognise backquote's output for "evaluated" lambdas. What we get back from backquote looks like: (cons 'lambda (cons plain-args body)) or (list 'lambda args)) or maybe one or two other forms. So I could extend such code fragments to add posification code quite easily. I'm not sure it'd be more elegant than what's currently in backquote.el, though. I think I'll give it a try. > Stefan -- Alan Mackenzie (Nuremberg, Germany).