GNU bug report logs - #28729
26.0.60; Incorrect Edebug spec for gv-define-setter

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Gemini Lasswell <gazally@HIDDEN>; Keywords: confirmed; dated Sat, 7 Oct 2017 13:53:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 28729 <at> debbugs.gnu.org:


Received: (at 28729) by debbugs.gnu.org; 15 Jul 2019 09:16:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jul 15 05:16:32 2019
Received: from localhost ([127.0.0.1]:46359 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hmx5z-00059K-FC
	for submit <at> debbugs.gnu.org; Mon, 15 Jul 2019 05:16:32 -0400
Received: from quimby.gnus.org ([80.91.231.51]:38836)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1hmx5w-00056S-VY
 for 28729 <at> debbugs.gnu.org; Mon, 15 Jul 2019 05:16:29 -0400
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=marnie)
 by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.89) (envelope-from <larsi@HIDDEN>)
 id 1hmx5t-00057I-Hk; Mon, 15 Jul 2019 11:16:28 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
To: Gemini Lasswell <gazally@HIDDEN>
Subject: Re: bug#28729: 26.0.60; Incorrect Edebug spec for gv-define-setter
References: <87r2ufyski.fsf@HIDDEN>
Date: Mon, 15 Jul 2019 11:16:24 +0200
In-Reply-To: <87r2ufyski.fsf@HIDDEN> (Gemini Lasswell's message of "Sat,
 07 Oct 2017 06:51:25 -0700")
Message-ID: <87v9w3u07r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Gemini Lasswell <gazally@HIDDEN> writes: > The Edebug
 spec for gv-define-setter is incorrect. It should use > :name,
 so Edebug doesn't
 confuse it with the getter, and it should use > def-body instead of body.
 To reproduce the problem, put th [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 28729
Cc: 28729 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gemini Lasswell <gazally@HIDDEN> writes:

> The Edebug spec for gv-define-setter is incorrect. It should use
> :name, so Edebug doesn't confuse it with the getter, and it should use
> def-body instead of body. To reproduce the problem, put this bit of
> code into *scratch*:
>
> (defun obo-ref (a idx)
>   (aref a (1- idx)))
>
> (gv-define-setter obo-ref (val a idx)
>   `(aset ,a (1- ,idx) ,val))
>
> (defvar my-array [ 10 20 30 40 ])
>
> (defun set-first-elem (n)
>   (setf (obo-ref my-array 1) n))
>
> Then:
>
> M-x edebug-all-defs RET
> M-x eval-buffer RET
>
> Result: Eager macro-expansion failure: (wrong-type-argument consp nil)

I can confirm that changing `body' to `def-body' fixes this bug.

> M-: (obo-ref my-array 3) RET
> SPC SPC
>
> Result: Edebug starts stepping through the setter, then quits with
> "Source has changed - reevaluate definition of obo-ref".

This is till a problem.  I'm not sure what you mean by "It should use
:name" -- how does that work in edebug specs?  (I'm not particularly
familiar with edebug internals.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#28729; Package emacs. Full text available.
Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Oct 2017 13:52:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 07 09:52:03 2017
Received: from localhost ([127.0.0.1]:53840 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1e0pWN-0000qx-7X
	for submit <at> debbugs.gnu.org; Sat, 07 Oct 2017 09:52:03 -0400
Received: from eggs.gnu.org ([208.118.235.92]:43535)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <gazally@HIDDEN>) id 1e0pWL-0000qR-8h
 for submit <at> debbugs.gnu.org; Sat, 07 Oct 2017 09:52:01 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <gazally@HIDDEN>) id 1e0pWF-0000om-4E
 for submit <at> debbugs.gnu.org; Sat, 07 Oct 2017 09:51:55 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,
 T_DKIM_INVALID autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:41951)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <gazally@HIDDEN>) id 1e0pWF-0000oa-0b
 for submit <at> debbugs.gnu.org; Sat, 07 Oct 2017 09:51:55 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:34492)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <gazally@HIDDEN>) id 1e0pWD-0001yb-Vg
 for bug-gnu-emacs@HIDDEN; Sat, 07 Oct 2017 09:51:54 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <gazally@HIDDEN>) id 1e0pW9-0000lI-5E
 for bug-gnu-emacs@HIDDEN; Sat, 07 Oct 2017 09:51:54 -0400
Received: from aibo.runbox.com ([91.220.196.211]:41592)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
 (Exim 4.71) (envelope-from <gazally@HIDDEN>) id 1e0pW8-0000k4-Pz
 for bug-gnu-emacs@HIDDEN; Sat, 07 Oct 2017 09:51:49 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=runbox.com; 
 s=rbselector1;
 h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From; 
 bh=rO3RouRCTTsPiOzyShk0kz053ppmTdNa+p3beZLk5Qc=; b=FoJ36A607zTpnOpzg0amS9IMl
 X2hnHlkD1Joj9OtlVNqO0GzYeuNPZJmhwAFyscz2L0O0FD+5Lwuh3TAUaccnsI9RiqoOKDMUTdJOs
 mhXs6Bl8DjmzJ3cvoyKzlYG5MPjw6azDJ8vAammvw7DZJv30AbDIun/eG8z1hug3+j3k3aHlaCvAm
 c3pPH8osRi+ktwgKU97zVqoU/pjqonv11JK8gMkHAVWccqF/pUvKJKxkyl6aiMx8NUTT7HOar2QYM
 GQVqmjOGlTToBIQSUkN+SYd/W9SkTpFjcpHUNd5j10KNLHLijilAjPYmzCrSk02A6gf8O53SodIji
 v9tD8hNCA==;
Received: from [10.9.9.210] (helo=mailfront10.runbox.com)
 by mailtransmit03.runbox with esmtp (Exim 4.86_2)
 (envelope-from <gazally@HIDDEN>) id 1e0pW6-0000Uo-F9
 for bug-gnu-emacs@HIDDEN; Sat, 07 Oct 2017 15:51:46 +0200
Received: from c-24-22-244-161.hsd1.wa.comcast.net ([24.22.244.161]
 helo=chinook) by mailfront10.runbox.com with esmtpsa (uid:179284 )
 (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1e0pVw-0002ZH-DX
 for bug-gnu-emacs@HIDDEN; Sat, 07 Oct 2017 15:51:36 +0200
From: Gemini Lasswell <gazally@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 26.0.60; Incorrect Edebug spec for gv-define-setter
Date: Sat, 07 Oct 2017 06:51:25 -0700
Message-ID: <87r2ufyski.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
 [fuzzy]
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.1 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -4.1 (----)

The Edebug spec for gv-define-setter is incorrect. It should use
:name, so Edebug doesn't confuse it with the getter, and it should use
def-body instead of body. To reproduce the problem, put this bit of
code into *scratch*:

(defun obo-ref (a idx)
  (aref a (1- idx)))

(gv-define-setter obo-ref (val a idx)
  `(aset ,a (1- ,idx) ,val))

(defvar my-array [ 10 20 30 40 ])

(defun set-first-elem (n)
  (setf (obo-ref my-array 1) n))

Then:

M-x edebug-all-defs RET
M-x eval-buffer RET

Result: Eager macro-expansion failure: (wrong-type-argument consp nil)

M-: (obo-ref my-array 3) RET
SPC SPC

Result: Edebug starts stepping through the setter, then quits with
"Source has changed - reevaluate definition of obo-ref".




Acknowledgement sent to Gemini Lasswell <gazally@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#28729; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.