X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fmacros.lisp;h=7d388aca7f33b127e355ce6de5addca7151c72f6;hb=8d490a4d6b9d7f156cf503826b3e3195e6f3ad39;hp=248db203491fb80794d0b8458d7ec9310d7cc4a8;hpb=808502965803b3772ea40dab28ec85dc131e676a;p=sbcl.git diff --git a/contrib/sb-posix/macros.lisp b/contrib/sb-posix/macros.lisp index 248db20..7d388ac 100644 --- a/contrib/sb-posix/macros.lisp +++ b/contrib/sb-posix/macros.lisp @@ -46,9 +46,9 @@ (defun lisp-for-c-symbol (s) (intern (substitute #\- #\_ (string-upcase s)) :sb-posix)) -(defmacro define-call-internally (lisp-name c-name return-type error-predicate &rest arguments) - (if (sb-fasl::foreign-symbol-address-as-integer-or-nil - (sb-vm:extern-alien-name c-name)) +(defmacro define-call-internally (lisp-name c-name return-type error-predicate + &rest arguments) + (if (sb-sys:foreign-symbol-address-as-integer-or-nil c-name) `(progn (declaim (inline ,lisp-name)) (defun ,lisp-name ,(mapcar #'car arguments) @@ -58,11 +58,16 @@ (function ,return-type ,@(mapcar (lambda (x) - (gethash (cadr x) *designator-types* (cadr x))) + (gethash (cadr x) + *designator-types* + (cadr x))) arguments))) ,@(mapcar (lambda (x) - (if (nth-value 1 (gethash (cadr x) *designator-types*)) - `(,(intern (symbol-name (cadr x)) :sb-posix) + (if (nth-value 1 + (gethash (cadr x) + *designator-types*)) + `(,(intern (symbol-name (cadr x)) + :sb-posix) ,(car x)) (car x))) arguments)))) @@ -73,7 +78,11 @@ (let ((lisp-name (lisp-for-c-symbol name))) `(progn (export ',lisp-name :sb-posix) - (define-call-internally ,lisp-name ,name ,return-type ,error-predicate ,@arguments)))) + (define-call-internally ,lisp-name + ,name + ,return-type + ,error-predicate + ,@arguments)))) (defmacro define-entry-point (name arglist &body body) (let ((lisp-name (lisp-for-c-symbol name)))