Fabián Ezequiel Gallina
c08f8be29f
New if-let, when-let, thread-first and thread-last macros.
...
* lisp/emacs-lisp/subr-x.el
(internal--listify, internal--check-binding)
(internal--build-binding-value-form, internal--build-binding)
(internal--build-bindings): New functions.
(internal--thread-argument, thread-first, thread-last)
(if-let, when-let): New macros.
* test/automated/subr-x-tests.el
(subr-x-test-if-let-single-binding-expansion)
(subr-x-test-if-let-single-symbol-expansion)
(subr-x-test-if-let-nil-related-expansion)
(subr-x-test-if-let-malformed-binding, subr-x-test-if-let-true)
(subr-x-test-if-let-false, subr-x-test-if-let-bound-references)
(subr-x-test-if-let-and-lazyness-is-preserved)
(subr-x-test-when-let-body-expansion)
(subr-x-test-when-let-single-binding-expansion)
(subr-x-test-when-let-single-symbol-expansion)
(subr-x-test-when-let-nil-related-expansion)
(subr-x-test-when-let-malformed-binding)
(subr-x-test-when-let-true, subr-x-test-when-let-false)
(subr-x-test-when-let-bound-references)
(subr-x-test-when-let-and-lazyness-is-preserved)
(subr-x-test-thread-first-no-forms)
(subr-x-test-thread-first-function-names-are-threaded)
(subr-x-test-thread-first-expansion)
(subr-x-test-thread-last-no-forms)
(subr-x-test-thread-last-function-names-are-threaded)
(subr-x-test-thread-last-expansion): New tests.
2014-06-30 01:11:43 -03:00