orthecreedence/blackbird — pull request #10 by archimag (2014-12-25 20:47:38+00:00)
Title: Making DO-FINALLY more useful

DO-FINALLY must finish the returned promise with the values of the given promise. It's important for a code like:

```common-lisp
(defmacro with-mongo-db ((db-symbol) &body body)
(with-unique-names (client1 client2)
`(let (,client1)
(chain (mongo:create-mongo-client :cl-async)
(:attach (,client2)
(setf ,client1 ,client2)
(make-instance 'mongo:database :mongo-client ,client2 :name "test"))
(:attach (,db-symbol)
,@body)
(:finally ()
(mongo:mongo-client-close ,client1))))))
```