diff options
Diffstat (limited to 'stdlib/place.tl')
-rw-r--r-- | stdlib/place.tl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/stdlib/place.tl b/stdlib/place.tl index 13b9bb18..fdd4e544 100644 --- a/stdlib/place.tl +++ b/stdlib/place.tl @@ -862,10 +862,10 @@ (defplace (symbol-value sym-expr) body (getter setter - (with-gensyms (binding-sym) - ^(let ((,binding-sym (sys:get-vb ,sym-expr))) - (macrolet ((,getter () ^(cdr ,',binding-sym)) - (,setter (val) ^(sys:rplacd ,',binding-sym ,val))) + (with-gensyms (sym) + ^(let ((,sym ,sym-expr)) + (macrolet ((,getter () ^(symbol-value ,',sym)) + (,setter (val) ^(sys:set-symbol-value ,',sym ,val))) ,body)))) nil (deleter |