(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-sys:foreign-symbol-address-as-integer-or-nil 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
+ (sb-vm:extern-alien-name c-name))
`(progn
(declaim (inline ,lisp-name))
(defun ,lisp-name ,(mapcar #'car arguments)
(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))))
(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)))
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.14.28"
+"0.8.14.29"