diff options
Diffstat (limited to 'Lisp/internal-utilities.lisp')
-rw-r--r-- | Lisp/internal-utilities.lisp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Lisp/internal-utilities.lisp b/Lisp/internal-utilities.lisp index b23905f..b610096 100644 --- a/Lisp/internal-utilities.lisp +++ b/Lisp/internal-utilities.lisp @@ -87,9 +87,10 @@ ;; Compatibility with older versions of CFFI. (unless (fboundp 'foreign-funcall-pointer) (defmacro foreign-funcall-pointer (pointer options &rest args) - (if (find-symbol "FOREIGN-FUNCALL-POINTER" '#:cffi) - `(cffi:foreign-funcall-pointer ,pointer ,options ,@args) - `(cffi:foreign-funcall (,pointer ,@options) ,@args)))) + (let ((foreign-funcall-pointer-sym (find-symbol "FOREIGN-FUNCALL-POINTER" '#:cffi))) + (if foreign-funcall-pointer-sym + `(,foreign-funcall-pointer-sym ,pointer ,options ,@args) + `(cffi:foreign-funcall (,pointer ,@options) ,@args))))) ;; Caching of function values. |