From: João Távora <joaotavora@gmail.com>
Date: Sun, 16 Dec 2018 13:51:14 +0000 (+0000)
Subject: Add edebug specs to destructuring macros
X-Git-Tag: emacs-29.0.90~1616^2~524^2~4^2~361
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=47f5fdcae6b3f2177b55ec5898a8277b0d541a83;p=emacs.git

Add edebug specs to destructuring macros

* eglot.el (eglot--dbind, eglot--lambda, eglot--dcase): Add edebug
specs.
---

diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 429c329c824..e83562fd201 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -340,7 +340,7 @@ on unknown notifications and errors on unknown requests.
   "Destructure OBJECT of binding VARS in BODY.
 VARS is ([(INTERFACE)] SYMS...)
 Honour `eglot-strict-mode'."
-  (declare (indent 2))
+  (declare (indent 2) (debug (sexp sexp &rest form)))
   (let ((interface-name (if (consp (car vars))
                             (car (pop vars))))
         (object-once (make-symbol "object-once"))
@@ -366,7 +366,7 @@ Honour `eglot-strict-mode'."
 (cl-defmacro eglot--lambda (cl-lambda-list &body body)
   "Function of args CL-LAMBDA-LIST for processing INTERFACE objects.
 Honour `eglot-strict-mode'."
-  (declare (indent 1))
+  (declare (indent 1) (debug (sexp &rest form)))
   (let ((e (cl-gensym "jsonrpc-lambda-elem")))
     `(lambda (,e) (eglot--dbind ,cl-lambda-list ,e ,@body))))
 
@@ -374,7 +374,7 @@ Honour `eglot-strict-mode'."
   "Like `pcase', but for the LSP object OBJ.
 CLAUSES is a list (DESTRUCTURE FORMS...) where DESTRUCTURE is
 treated as in `eglot-dbind'."
-  (declare (indent 1))
+  (declare (indent 1) (debug (sexp &rest (sexp &rest form))))
   (let ((obj-once (make-symbol "obj-once")))
     `(let ((,obj-once ,obj))
        (cond