+2014-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * emacs-lisp/cl-macs.el (cl--loop-let): Avoid `nil' as var name.
+
2014-04-21 Michael Albinus <michael.albinus@gmx.de>
- * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Set
- "IFS=" when using read builtin, in order to preserve spaces in
+ * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
+ Set "IFS=" when using read builtin, in order to preserve spaces in
the file name. Add test messages for hunting a bug on hydra.
(tramp-get-ls-command): Undo using "-b" argument. It doesn't help.
(if (and (cl--unused-var-p temp) (null expr))
nil ;; Don't bother declaring/setting `temp' since it won't
;; be used when `expr' is nil, anyway.
- (when (and (eq body 'setq) (cl--unused-var-p temp))
+ (when (or (null temp)
+ (and (eq body 'setq) (cl--unused-var-p temp)))
;; Prefer a fresh uninterned symbol over "_to", to avoid
;; warnings that we set an unused variable.
(setq temp (make-symbol "--cl-var--"))
;; Make sure this temp variable is locally declared.
- (push (list (list temp)) cl--loop-bindings))
+ (when (eq body 'setq)
+ (push (list (list temp)) cl--loop-bindings)))
(push (list temp expr) new))
(while (consp spec)
(push (list (pop spec)
(should (eql (cl-mismatch "Aa" "aA") 0))
(should (eql (cl-mismatch '(a b c) '(a b d)) 2)))
+(ert-deftest cl-lib-test-loop ()
+ (should (eql (cl-loop with (a b c) = '(1 2 3) return (+ a b c)) 6)))
+
(ert-deftest cl-lib-keyword-names-versus-values ()
(should (equal
(funcall (cl-function (lambda (&key a b) (list a b)))