- (let ((temp-name (gensym)))
- `(progn
- (fli:define-foreign-variable (,temp-name ,foreign-name) :type ,var-type :module ,module)
- (define-symbol-macro ,lisp-name (,temp-name))))
+ `(progn
+ (fli:define-foreign-variable (,lisp-name ,foreign-name)
+ :accessor :address-of
+ :type ,var-type
+ :module ,module)
+ (define-symbol-macro ,lisp-name (fli:dereference (,lisp-name)
+ :copy-foreign-object nil)))