all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec
@ 2013-10-11 10:39 Oleh
  2013-10-12 19:12 ` Stefan Monnier
  2013-10-12 23:28 ` Glenn Morris
  0 siblings, 2 replies; 3+ messages in thread
From: Oleh @ 2013-10-11 10:39 UTC (permalink / raw
  To: 15587

[-- Attachment #1: Type: text/plain, Size: 139 bytes --]

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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-emacs-lisp-cl-macs.el-cl-destructuring-bind-added-do.patch --]
[-- Type: text/x-diff, Size: 1178 bytes --]

From 51a191c06f210eecf594be384e9b835afb9a818f Mon Sep 17 00:00:00 2001
From: Oleh Krehel <ohwoeowho@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


[-- Attachment #3: Type: text/plain, Size: 15 bytes --]


regards,
Oleh

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec
  2013-10-11 10:39 bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec Oleh
@ 2013-10-12 19:12 ` Stefan Monnier
  2013-10-12 23:28 ` Glenn Morris
  1 sibling, 0 replies; 3+ messages in thread
From: Stefan Monnier @ 2013-10-12 19:12 UTC (permalink / raw
  To: Oleh; +Cc: 15587

> Currently it's not possible to edebug
> (defun foo (z)
>   (destructuring-bind (x . y) z (+ x y)))

Hmm... indeed.

> I attach a small patch to fix this.

Thanks.

> -           (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)))

But the same problem applies to cl-defmacro.  I.e. the fix should be in
`cl-macro-list', I think.


        Stefan





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec
  2013-10-11 10:39 bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec Oleh
  2013-10-12 19:12 ` Stefan Monnier
@ 2013-10-12 23:28 ` Glenn Morris
  1 sibling, 0 replies; 3+ messages in thread
From: Glenn Morris @ 2013-10-12 23:28 UTC (permalink / raw
  To: Oleh; +Cc: 15587


There's a different patch at
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6415#15





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-12 23:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-11 10:39 bug#15587: [PATCH] Edebug `destructuring-bind' dotted spec Oleh
2013-10-12 19:12 ` Stefan Monnier
2013-10-12 23:28 ` Glenn Morris

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.