[slime-cvs] CVS update: slime/swank-clisp.lisp
Helmut Eller
heller at common-lisp.net
Wed Jun 1 12:50:05 UTC 2005
Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv13283
Modified Files:
swank-clisp.lisp
Log Message:
(describe-symbol-for-emacs): Report :alien-type when the name is known
as foreign type.
Date: Wed Jun 1 14:50:05 2005
Author: heller
Index: slime/swank-clisp.lisp
diff -u slime/swank-clisp.lisp:1.47 slime/swank-clisp.lisp:1.48
--- slime/swank-clisp.lisp:1.47 Wed Jun 1 14:22:28 2005
+++ slime/swank-clisp.lisp Wed Jun 1 14:50:05 2005
@@ -162,6 +162,18 @@
(doc 'function)))
(maybe-push :class (when (find-class symbol nil)
(doc 'type))) ;this should be fixed
+ ;; Let this code work compiled in images without FFI
+ (let ((types (load-time-value
+ (and (find-package "FFI")
+ (symbol-value
+ (find-symbol "*C-TYPE-TABLE*" "FFI"))))))
+ ;; Use ffi::*c-type-table* so as not to suffer the overhead of
+ ;; (ignore-errors (ffi:parse-c-type symbol)) for 99.9% of symbols
+ ;; which are not FFI type names.
+ (when (and types (nth-value 1 (gethash symbol types)))
+ ;; Maybe use (case (head (ffi:deparse-c-type)))
+ ;; to distinguish struct and union types?
+ (maybe-push :alien-type :not-documented)))
result)))
(defimplementation describe-definition (symbol namespace)
More information about the slime-cvs
mailing list