diff options
| author | Stefan Monnier | 2012-08-10 15:34:36 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2012-08-10 15:34:36 -0400 |
| commit | d301b4133f855c96f425b4793fa13dae3463f392 (patch) | |
| tree | c766478dd4e829a3a840a8fb5fb6d5dec8750993 | |
| parent | 25e65510a3d35524ade205c3114970c43dc6ae05 (diff) | |
| download | emacs-d301b4133f855c96f425b4793fa13dae3463f392.tar.gz emacs-d301b4133f855c96f425b4793fa13dae3463f392.zip | |
* lisp/emacs-lisp/cl-macs.el (cl-loop): Improve debug spec.
| -rw-r--r-- | lisp/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-loaddefs.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 16 |
3 files changed, 20 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bc270b8bdb2..0295afa866f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2012-08-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * emacs-lisp/cl-macs.el (cl-loop): Improve debug spec. | ||
| 4 | |||
| 1 | 2012-08-10 Chong Yidong <cyd@gnu.org> | 5 | 2012-08-10 Chong Yidong <cyd@gnu.org> |
| 2 | 6 | ||
| 3 | * progmodes/python.el (python-shell-get-process-name): Don't mess | 7 | * progmodes/python.el (python-shell-get-process-name): Don't mess |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 61475ce74b3..470ca17d3a0 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -260,7 +260,7 @@ Remove from SYMBOL's plist the property PROPNAME and its value. | |||
| 260 | ;;;;;; cl-do cl-loop cl-return-from cl-return cl-block cl-etypecase | 260 | ;;;;;; cl-do cl-loop cl-return-from cl-return cl-block cl-etypecase |
| 261 | ;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when | 261 | ;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when |
| 262 | ;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp | 262 | ;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp |
| 263 | ;;;;;; cl-gensym) "cl-macs" "cl-macs.el" "37a13242a811078a7ae71578eeed4254") | 263 | ;;;;;; cl-gensym) "cl-macs" "cl-macs.el" "9676d5517e8b9246c09fe78984c68bef") |
| 264 | ;;; Generated autoloads from cl-macs.el | 264 | ;;; Generated autoloads from cl-macs.el |
| 265 | 265 | ||
| 266 | (autoload 'cl-gensym "cl-macs" "\ | 266 | (autoload 'cl-gensym "cl-macs" "\ |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 95aa1f18a0c..9a59aa0c6db 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -731,7 +731,21 @@ Valid clauses are: | |||
| 731 | finally return EXPR, named NAME. | 731 | finally return EXPR, named NAME. |
| 732 | 732 | ||
| 733 | \(fn CLAUSE...)" | 733 | \(fn CLAUSE...)" |
| 734 | (declare (debug (&rest &or symbolp form))) | 734 | (declare (debug (&rest &or |
| 735 | ;; These are usually followed by a symbol, but it can | ||
| 736 | ;; actually be any destructuring-bind pattern, which | ||
| 737 | ;; would erroneously match `form'. | ||
| 738 | [[&or "for" "as" "with" "and"] sexp] | ||
| 739 | ;; These are followed by expressions which could | ||
| 740 | ;; erroneously match `symbolp'. | ||
| 741 | [[&or "from" "upfrom" "downfrom" "to" "upto" "downto" | ||
| 742 | "above" "below" "by" "in" "on" "=" "across" | ||
| 743 | "repeat" "while" "until" "always" "never" | ||
| 744 | "thereis" "collect" "append" "nconc" "sum" | ||
| 745 | "count" "maximize" "minimize" "if" "unless" | ||
| 746 | "return"] form] | ||
| 747 | ;; Simple default, which covers 99% of the cases. | ||
| 748 | symbolp form))) | ||
| 735 | (if (not (memq t (mapcar 'symbolp (delq nil (delq t (cl-copy-list loop-args)))))) | 749 | (if (not (memq t (mapcar 'symbolp (delq nil (delq t (cl-copy-list loop-args)))))) |
| 736 | `(cl-block nil (while t ,@loop-args)) | 750 | `(cl-block nil (while t ,@loop-args)) |
| 737 | (let ((cl--loop-args loop-args) (cl--loop-name nil) (cl--loop-bindings nil) | 751 | (let ((cl--loop-args loop-args) (cl--loop-name nil) (cl--loop-bindings nil) |