diff options
| author | Daniel Colascione | 2014-04-20 18:03:39 -0700 |
|---|---|---|
| committer | Daniel Colascione | 2014-04-20 18:03:39 -0700 |
| commit | 2fa1b97db098c04810763e742e956c63b9527989 (patch) | |
| tree | 56356f808c0cb021e3f254903255700f1f78e10e | |
| parent | e8a77f2423f5e66e040a40a1d57aec640cc08dcf (diff) | |
| download | emacs-2fa1b97db098c04810763e742e956c63b9527989.tar.gz emacs-2fa1b97db098c04810763e742e956c63b9527989.zip | |
Fix cl-loop destructuring under `with' clause
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 2 | ||||
| -rw-r--r-- | test/ChangeLog | 4 | ||||
| -rw-r--r-- | test/automated/cl-lib.el | 3 |
4 files changed, 13 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 28b9c79079e..cb91bbcb4d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-04-21 Daniel Colascione <dancol@dancol.org> | ||
| 2 | |||
| 3 | * emacs-lisp/cl-macs.el: | ||
| 4 | (cl--loop-let): Properly destructure `while' clauses. | ||
| 5 | |||
| 1 | 2014-04-20 Daniel Colascione <dancol@dancol.org> | 6 | 2014-04-20 Daniel Colascione <dancol@dancol.org> |
| 2 | 7 | ||
| 3 | * vc/vc.el (vc-root-dir): New public autoloaded function for | 8 | * vc/vc.el (vc-root-dir): New public autoloaded function for |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 5fc8c9f9a42..5b9e17af23a 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -1550,7 +1550,7 @@ If BODY is `setq', then use SPECS for assignments rather than for bindings." | |||
| 1550 | (if (and (cl--unused-var-p temp) (null expr)) | 1550 | (if (and (cl--unused-var-p temp) (null expr)) |
| 1551 | nil ;; Don't bother declaring/setting `temp' since it won't | 1551 | nil ;; Don't bother declaring/setting `temp' since it won't |
| 1552 | ;; be used when `expr' is nil, anyway. | 1552 | ;; be used when `expr' is nil, anyway. |
| 1553 | (when (and (eq body 'setq) (cl--unused-var-p temp)) | 1553 | (when (cl--unused-var-p temp) |
| 1554 | ;; Prefer a fresh uninterned symbol over "_to", to avoid | 1554 | ;; Prefer a fresh uninterned symbol over "_to", to avoid |
| 1555 | ;; warnings that we set an unused variable. | 1555 | ;; warnings that we set an unused variable. |
| 1556 | (setq temp (make-symbol "--cl-var--")) | 1556 | (setq temp (make-symbol "--cl-var--")) |
diff --git a/test/ChangeLog b/test/ChangeLog index 940ed0b0b91..2e6e1aefeb1 100644 --- a/test/ChangeLog +++ b/test/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2014-04-21 Daniel Colascione <dancol@dancol.org> | ||
| 2 | |||
| 3 | * automated/cl-lib.el (cl-loop-destructuring-with): New test. | ||
| 4 | |||
| 1 | 2014-04-20 Daniel Colascione <dancol@dancol.org> | 5 | 2014-04-20 Daniel Colascione <dancol@dancol.org> |
| 2 | 6 | ||
| 3 | * automated/cl-lib.el (cl-lib-struct-accessors,cl-the): New tests. | 7 | * automated/cl-lib.el (cl-lib-struct-accessors,cl-the): New tests. |
diff --git a/test/automated/cl-lib.el b/test/automated/cl-lib.el index a0df07e54ea..2c73c82ba98 100644 --- a/test/automated/cl-lib.el +++ b/test/automated/cl-lib.el | |||
| @@ -220,4 +220,7 @@ | |||
| 220 | (should (= (the integer (incf sideffect)) 1)) | 220 | (should (= (the integer (incf sideffect)) 1)) |
| 221 | (should (= sideffect 1)))) | 221 | (should (= sideffect 1)))) |
| 222 | 222 | ||
| 223 | (ert-deftest cl-loop-destructuring-with () | ||
| 224 | (should (equal (cl-loop with (a b c) = '(1 2 3) return (+ a b c)) 6))) | ||
| 225 | |||
| 223 | ;;; cl-lib.el ends here | 226 | ;;; cl-lib.el ends here |