Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
src/types.lisp: (with-foreign-slots) enhance
Allow with-foreign-slots to rebind the slot with a new name: aka (with-slots ((var-name slot-name)) object ...) With-foreign-slots already implements an extension viz. you can specify (:pointer slot-name) to get at the foreign-slot-pointer rather than the foreign-slot-value. This has been extended: (with-foreign-slots (bindings ptr type) body) - Now each binding can be one of these forms: SLOT-NAME -- binds SLOT-NAME to (FOREIGN-SLOT-VALUE SLOT-NAME) (:POINTER SLOT-NAME) -- binds SLOT-NAME to (FOREIGN-SLOT-POINTER SLOT-NAME) (VAR-NAME SLOT-NAME) -- binds VAR-NAME to (FOREIGN-SLOT-VALUE SLOT-NAME) (:POINTER (VAR-NAME SLOT-NAME)) -- binds VAR-NAME to (FOREIGN-SLOT-POINTER SLOT-NAME) (VAR-NAME (:POINTER SLOT-NAME)) -- binds VAR-NAME to (FOREIGN-SLOT-POINTER SLOT-NAME)
- Loading branch information