[Fixed bug in APROPOS with variable types, and added information to output about primitive and integrated procedures.
Taylor Campbell <campbell@mumble.net>**20060622203903] {
hunk ./apropos.scm 150
-          (cond ((eq? type syntax-type)
-                 (syntactic-binding id binding))
-                ((subtype? type value-type)
+          (cond ((or (eq? type undeclared-type)
+                     (variable-type? type)
+                     (subtype? type value-type))
hunk ./apropos.scm 154
+                ((subtype? type syntax-type)
+                 (syntactic-binding id binding))
hunk ./apropos.scm 173
-    :VARIABLE ,(let ((loc (binding-place binding)))
-                 (if (location? loc)
-                     (cond ((location-assigned? loc)
-                            (limited-write-to-string (contents loc)))
-                           ((location-defined? loc)
-                            "[unassigned]")
-                           (else
-                            "[undefined]"))
-                     "[funny binding]"))))
+    :VARIABLE ,(string-append
+                (let ((static (binding-static binding)))
+                  (cond ((primop?    static) "(primitive procedure) ")
+                        ((transform? static) "(integrable procedure) ")
+                        (else "")))
+                (let ((loc (binding-place binding)))
+                  (if (location? loc)
+                      (cond ((location-assigned? loc)
+                             (limited-write-to-string (contents loc)))
+                            ((location-defined? loc)
+                             "[unassigned]")
+                            (else
+                             "[undefined]"))
+                      "[funny binding]")))))
hunk ./packages.scm 291
+        (subset primops (primop?))
}
