shiftf: Fix order of lexical blocks to avoid unbound variable error.

`multiple-value-prog1` was called outside `let` bindings, thereof it
lead to returning unbound access-forms.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
This commit is contained in:
Daniel Kochmański 2015-05-19 09:49:09 +02:00
parent c7e8144062
commit bc0da33dab

View file

@ -476,8 +476,8 @@ Returns the original value of the leftmost PLACE."
(with-setf-expansions (pairs stores store-forms access-forms)
((butlast args) env)
(with-expansion-setter (thunk store-forms)
`(multiple-value-prog1 ,(car access-forms)
(let* ,pairs
`(let* ,pairs
(multiple-value-prog1 ,(car access-forms)
,@(thunk stores
(append (cdr access-forms)
(last args))))))))