GNU bug report logs -
#15587
[PATCH] Edebug `destructuring-bind' dotted spec
Previous Next
Reported by: Oleh <oleh.krehel <at> gmail.com>
Date: Fri, 11 Oct 2013 10:41:01 UTC
Severity: normal
Tags: confirmed, patch
Merged with 6415,
6566,
24885
Found in versions 23.1.50, 23.2, 26.0.50
Done: Gemini Lasswell <gazally <at> runbox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Hi,
Currently it's not possible to edebug
(defun foo (z)
(destructuring-bind (x . y) z (+ x y)))
I attach a small patch to fix this.
[0001-emacs-lisp-cl-macs.el-cl-destructuring-bind-added-do.patch (text/x-diff, inline)]
From 51a191c06f210eecf594be384e9b835afb9a818f Mon Sep 17 00:00:00 2001
From: Oleh Krehel <ohwoeowho <at> gmail.com>
Date: Fri, 11 Oct 2013 12:34:03 +0200
Subject: [PATCH] * emacs-lisp/cl-macs.el: (cl-destructuring-bind): added
dotted form as an option for edebug.
Edebug will now work for:
(defun foo (z)
(destructuring-bind (x . y) z (+ x y)))
---
emacs-lisp/cl-macs.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/emacs-lisp/cl-macs.el b/emacs-lisp/cl-macs.el
index 60fdc09..a84e677 100644
--- a/emacs-lisp/cl-macs.el
+++ b/emacs-lisp/cl-macs.el
@@ -565,7 +565,7 @@ its argument list allows full Common Lisp conventions."
(defmacro cl-destructuring-bind (args expr &rest body)
"Bind the variables in ARGS to the result of EXPR and execute BODY."
(declare (indent 2)
- (debug (&define cl-macro-list def-form cl-declarations def-body)))
+ (debug (&define [&or cl-macro-list (sexp . sexp)] def-form cl-declarations def-body)))
(let* ((cl--bind-lets nil) (cl--bind-forms nil) (cl--bind-inits nil)
(cl--bind-defs nil) (cl--bind-block 'cl-none) (cl--bind-enquote nil))
(cl--do-arglist (or args '(&aux)) expr)
--
1.8.4
[Message part 3 (text/plain, inline)]
regards,
Oleh
This bug report was last modified 7 years and 182 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.