Index: /trunk/ccl/lib/foreign-types.lisp
===================================================================
--- /trunk/ccl/lib/foreign-types.lisp	(revision 446)
+++ /trunk/ccl/lib/foreign-types.lisp	(revision 447)
@@ -564,5 +564,7 @@
 
 (def-foreign-type-method (root :unparse) (type)
-  `(!!unknown-foreign-type!! ,(type-of type)))
+  (if (eq type *void-foreign-type*)
+    :void
+    `(!!unknown-foreign-type!! ,(type-of type))))
 
 (def-foreign-type-method (root :type=) (type1 type2)
@@ -841,5 +843,5 @@
 (def-foreign-type-method (pointer :unparse) (type)
   (let ((to (foreign-pointer-type-to type)))
-    `(* ,(if to
+    `(:* ,(if to
 	     (%unparse-foreign-type to)
 	     t))))
@@ -1057,6 +1059,6 @@
 (def-foreign-type-method (record :unparse) (type)
   `(,(case (foreign-record-type-kind type)
-       (:struct 'struct)
-       (:union 'union)
+       (:struct :struct)
+       (:union :union)
        (t '???))
     ,(foreign-record-type-name type)
@@ -1427,4 +1429,5 @@
 
 (def-foreign-type void (root))
+(defvar *void-foreign-type* (parse-foreign-type :void)
 (def-foreign-type address (* :void))
 
