* lisp/let-alist.el (let-alist--deep-dot-search): Fix cons

* test/automated/let-alist.el (let-alist-cons): Test it.
This commit is contained in:
Artur Malabarba 2015-06-11 15:08:32 +01:00
parent ece5691fe6
commit fe5ba92402
2 changed files with 17 additions and 4 deletions

View file

@ -4,7 +4,7 @@
;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
;; Maintainer: Artur Malabarba <bruce.connor.am@gmail.com>
;; Version: 1.0.3
;; Version: 1.0.4
;; Keywords: extensions lisp
;; Prefix: let-alist
;; Separator: -
@ -72,9 +72,9 @@ symbol, and each cdr is the same symbol without the `.'."
;; Return the cons cell inside a list, so it can be appended
;; with other results in the clause below.
(list (cons data (intern (replace-match "" nil nil name)))))))
((not (listp data)) nil)
(t (apply #'append
(mapcar #'let-alist--deep-dot-search data)))))
((not (consp data)) nil)
(t (append (let-alist--deep-dot-search (car data))
(let-alist--deep-dot-search (cdr data))))))
(defun let-alist--access-sexp (symbol variable)
"Return a sexp used to access SYMBOL inside VARIABLE."

View file

@ -48,6 +48,19 @@
..external ..external.too)))
(list nil 0 1 2 3 "ext" "et"))))
(ert-deftest let-alist-cons ()
(should
(equal
(let ((.external "ext")
(.external.too "et"))
(let-alist '((test-two . 0)
(test-three . 1)
(sublist . ((foo . 2)
(bar . 3))))
(list `(, .test-one . , .test-two)
.sublist.bar ..external)))
(list '(nil . 0) 3 "ext"))))
(defvar let-alist--test-counter 0
"Used to count number of times a function is called.")