diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-12-10 07:15:09 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-12-10 07:15:09 -0800 |
commit | e0814736ec16ca7712609b96558e4102883dda2a (patch) | |
tree | 7385715b480fa6ec4a1d6c099f6845de2da81a7e /stdlib/place.tl | |
parent | 1e4eadfd30f675f80e17e84682dfc88da6be9681 (diff) | |
download | txr-e0814736ec16ca7712609b96558e4102883dda2a.tar.gz txr-e0814736ec16ca7712609b96558e4102883dda2a.tar.bz2 txr-e0814736ec16ca7712609b96558e4102883dda2a.zip |
define-accessor: fix broken arg handling.
I discovered this off chance by searching for occurrences
of (let ,(zip ...) ...) or (let (,*(zip ...)) ...) in the
code base, noticing an incorrect one.
* stdlib/place.tl (sys:register-simple-accessor): Remove
spurious list around ,(zip temps args).
* tests/012/defset.tl: Test cases for define-accessor added.
Diffstat (limited to 'stdlib/place.tl')
-rw-r--r-- | stdlib/place.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/place.tl b/stdlib/place.tl index a08e320a..1ff5a0c1 100644 --- a/stdlib/place.tl +++ b/stdlib/place.tl @@ -931,7 +931,7 @@ (lambda (getter setter place body) (let* ((args (cdr place)) (temps (mapcar (ret (gensym)) args))) - ^(let (,(zip temps args)) + ^(let ,(zip temps args) (macrolet ((,getter () ^(,',get-fun ,*',temps)) (,setter (val) ^(,',set-fun ,*',temps ,val))) |