New if-let, when-let, thread-first and thread-last macros.
commitc08f8be29f4f6d107da5cc38d614519df7a6ab11
authorFabián Ezequiel Gallina <fgallina@gnu.org>
Mon, 30 Jun 2014 04:11:43 +0000 (30 01:11 -0300)
committerFabián Ezequiel Gallina <fgallina@gnu.org>
Mon, 30 Jun 2014 04:11:43 +0000 (30 01:11 -0300)
tree1aa7c297a73c23b8c0dccc1242601c1eb02033dc
parentf8e16324a038417f0180b76c77c60313c880e74c
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.
etc/NEWS
lisp/ChangeLog
lisp/emacs-lisp/subr-x.el
test/ChangeLog
test/automated/subr-x-tests.el [new file with mode: 0644]