# HG changeset patch # User Steve Losh # Date 1678470443 18000 # Node ID 218a430ec1a7a6024282b9faeaeecd67c6e976d6 # Parent 65478981d36d0c3d25a7f73458f05fa9dac020ea Fix ensuref return value for subsequent runs diff -r 65478981d36d -r 218a430ec1a7 src/mutation.lisp --- a/src/mutation.lisp Wed Mar 01 21:12:34 2023 -0500 +++ b/src/mutation.lisp Fri Mar 10 12:47:23 2023 -0500 @@ -91,9 +91,8 @@ (multiple-value-bind (temps exprs stores store-expr access-expr) (get-setf-expansion place env) `(let* (,@(mapcar #'list temps exprs)) - (unless ,access-expr - (let ((,(car stores) ,expr)) - ,store-expr)))))) + (or ,access-expr (let ((,(car stores) ,expr)) + ,store-expr)))))) (defmacro ensuref (&rest place-expr-pairs &environment env) "Set each `place` that is currently `NIL` to its corresponding `expr`.