0.9.13.13: docstrings.lisp robustification
authorNikodemus Siivola <nikodemus@random-state.net>
Wed, 31 May 2006 10:51:51 +0000 (10:51 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Wed, 31 May 2006 10:51:51 +0000 (10:51 +0000)
 * Add replacement sequences for > and < in pathnames, and
   deal with orphaned docstrings. (Needed for Windows.)

doc/manual/docstrings.lisp
version.lisp-expr

index 2233c0e..4d31746 100644 (file)
@@ -67,7 +67,8 @@
   "A list of symbols accepted as second argument of `documentation'")
 
 (defparameter *character-replacements*
-  '((#\* . "star") (#\/ . "slash") (#\+ . "plus"))
+  '((#\* . "star") (#\/ . "slash") (#\+ . "plus")
+    (#\< . "lt") (#\> . "gt"))
   "Characters and their replacement names that `alphanumize' uses. If
 the replacements contain any of the chars they're supposed to replace,
 you deserve to lose.")
@@ -270,6 +271,10 @@ symbols or lists of symbols."))
    (children :initarg :children :initform nil :reader get-children)
    (package :initform *documentation-package* :reader get-package)))
 
+(defmethod print-object ((documentation documentation) stream)
+  (print-unreadable-object (documentation stream :type t)
+    (princ (list (get-kind documentation) (get-name documentation)) stream)))
+
 (defgeneric make-documentation (x doc-type string))
 
 (defmethod make-documentation ((x package) doc-type string)
@@ -290,11 +295,11 @@ symbols or lists of symbols."))
                      ((typep fdef 'generic-function)
                       (assert (or (symbolp name) (setf-name-p name)))
                       'generic-function)
-                     (t
+                     (fdef
                       (assert (or (symbolp name) (setf-name-p name)))
                       'function)))
          (children (when (eq kind 'generic-function)
-                             (collect-gf-documentation fdef))))
+                     (collect-gf-documentation fdef))))
     (make-instance 'documentation
                    :name (name x)
                    :string string
@@ -348,10 +353,10 @@ there is no corresponding docstring."
 
 (defun lambda-list (doc)
   (case (get-kind doc)
-    ((package constant variable type structure class condition)
+    ((package constant variable type structure class condition nil)
      nil)
     (method
-     (third (get-name doc)))
+     (third (get-name doc)))    
     (t
      ;; KLUDGE: Eugh.
      ;;
index c808f63..2be784f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; 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.9.13.12"
+"0.9.13.13"