Subject: Re: bug#31051: 26.0.91; Error in Edebug when debugging inline-letevals

From: Gemini Lasswell <[email-masked]>
Date: Sat, 20 Jul 2019 14:33:00 -0700

Lars Ingebrigtsen <[email-masked]> writes:

> Yup; I've now added edebug specs to the inline-letevals macros you had
> in the example and it now works for me.  So this should be fixed on the
> Emacs trunk.

I got around to taking a look at this and noticed you had reverted the
patch with some confusion around (def-edebug-spec ...) vs (declare
(debug ...)).  They are just two different ways to do the same thing,
which is to set the edebug-form-spec property of the symbol.

Setting the Edebug spec of inline-quote to backquote-form does fix the
bug so you were on the right track.

In Edebug specs '&rest form' and 'body' are synonyms so your added
spec for inline-letevals wasn't accomplishing anything.

Here's a revised patch, which for me fixes both the short example and
instrumenting lisp/net/shr.el:

>From 01644bd95a8971f0a19c5241533d5d51fc7b8b14 Mon Sep 17 00:00:00 2001
From: Gemini Lasswell <[email-masked]>
Date: Sat, 20 Jul 2019 06:52:44 -0700
Subject: [PATCH] * lisp/emacs-lisp/inline.el (inline-quote): Fix Edebug spec
 (bug#31051).

---
 lisp/emacs-lisp/inline.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/emacs-lisp/inline.el b/lisp/emacs-lisp/inline.el
index 70dbff2147..39f8e9b594 100644
--- a/lisp/emacs-lisp/inline.el
+++ b/lisp/emacs-lisp/inline.el
@@ -71,7 +71,7 @@
 
 (defmacro inline-quote (_exp)
   "Similar to backquote, but quotes code and only accepts , and not ,@."
-  (declare (debug t))
+  (declare (debug backquote-form))
   (error "inline-quote can only be used within define-inline"))
 
 (defmacro inline-const-p (_exp)
-- 
2.19.2