From 03699dd7d47cbf95552bed02e5c37f078528a3b2 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 12 Oct 2016 20:46:47 -0700 Subject: New accessor: hash-userdata. The get-hash-userdata function is now deprecated in favor of hash-userdata, which is an accessor. * hash.c (hash_init): Register hash-userdata as a synonym for the same function as get-hash-userdata. * share/txr/stdlib/place.tl (hash-userdata): New defplace. * txr.1: Document new accessor, marking get-hash-userdata as a deprecated synonym. Replace references to get-hash-userdata with references to hash-userdata. --- share/txr/stdlib/place.tl | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'share') diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl index 101deb1e..eb827fd4 100644 --- a/share/txr/stdlib/place.tl +++ b/share/txr/stdlib/place.tl @@ -561,6 +561,18 @@ ^(remhash ,',hash ,',key)))) ,body))) +(defplace (hash-userdata hash) body + (getter setter + (with-gensyms (hash-sym) + ^(slet ((,hash-sym ,hash)) + (macrolet ((,getter () ^(hash-userdata ,',hash-sym)) + (,setter (val) ^(set-hash-userdata ,',hash-sym ,val))) + ,body)))) + (ssetter + ^(macrolet ((,ssetter (val) + ^(set-hash-userdata ,',hash ,val))) + ,body))) + (defplace (dwim obj-place index : (default nil have-default-p) :env env) body (getter setter (with-gensyms (ogetter-sym osetter-sym obj-sym -- cgit v1.2.3