summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/txr/stdlib/place.tl9
1 files changed, 5 insertions, 4 deletions
diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl
index 8b1b4379..14cb87b6 100644
--- a/share/txr/stdlib/place.tl
+++ b/share/txr/stdlib/place.tl
@@ -594,10 +594,11 @@
(defplace (slot struct sym) body
(getter setter
- (with-gensyms (struct-sym)
- ^(rlet ((,struct-sym ,struct))
- (macrolet ((,getter () ^(slot ,',struct-sym ,',sym))
- (,setter (val) ^(slotset ,',struct-sym ,',sym ,val)))
+ (with-gensyms (struct-sym slot-sym)
+ ^(rlet ((,struct-sym ,struct)
+ (,slot-sym ,sym))
+ (macrolet ((,getter () ^(slot ,',struct-sym ,',slot-sym))
+ (,setter (val) ^(slotset ,',struct-sym ,',slot-sym ,val)))
,body))))
(ssetter
^(macrolet ((,ssetter (val) ^(slotset ,',struct ,',sym ,val)))