X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fmacros.lisp;h=7d388aca7f33b127e355ce6de5addca7151c72f6;hb=5e2b057871cf47c795c75106899f5fb05dc3397e;hp=5cfa2e9d855d74c455711c7edfc5909e06474d1e;hpb=75b52379bdc2269961af6a1308eca63610f38ac3;p=sbcl.git diff --git a/contrib/sb-posix/macros.lisp b/contrib/sb-posix/macros.lisp index 5cfa2e9..7d388ac 100644 --- a/contrib/sb-posix/macros.lisp +++ b/contrib/sb-posix/macros.lisp @@ -46,7 +46,8 @@ (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) +(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)) @@ -57,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)))) @@ -72,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)))