summaryrefslogtreecommitdiff
path: root/Lisp/internal-utilities.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/internal-utilities.lisp')
-rw-r--r--Lisp/internal-utilities.lisp7
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.