[cffi-devel] Library specs with T are ignored

Kalyanov Dmitry kalyanov.dmitry at gmail.com
Wed Sep 10 18:22:39 UTC 2008


Hello, cffi-devel!

I have found a case when cffi behaves not as documented.
The documentation in page for define-foreign-library says about load-clauses 
list that "Finally, if feature is t, this load-clause is picked 
unconditionally."

But the load-clause with feature set to T is ignored, because function 
%foreign-library-spec uses alexandria:featurep, which does consider T to be 
feature.

This patch should fix this: to return the load-clause that has feature set to 
T.

Test case:
(define-foreign-library libgraphan-wrap
  (t (:default "libgraphan-wrap")))

(equal
  (%foreign-library-spec (get-foreign-library 'libgraphan-wrap))
  (t (:default "libgraphan-wrap")))
=>
 T
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cffi-spec.patch
Type: text/x-diff
Size: 469 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20080910/7a034fa3/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20080910/7a034fa3/attachment.sig>


More information about the cffi-devel mailing list