* 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:
parent
ece5691fe6
commit
fe5ba92402
2 changed files with 17 additions and 4 deletions
|
@ -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."
|
||||
|
|
|
@ -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.")
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue