(assert (string= (documentation #'docfoo t) "bar"))
(assert (string= (setf (documentation 'docfoo 'function) "baz") "baz"))
(assert (string= (documentation 'docfoo 'function) "baz"))
- (assert (string= (documentation #'docfoo t) "baz")))
+ (assert (string= (documentation #'docfoo t) "bar"))
+ (assert (string= (setf (documentation #'docfoo t) "zot") "zot"))
+ (assert (string= (documentation #'docfoo t) "zot"))
+ (assert (string= (documentation 'docfoo 'function) "baz"))
+ (assert (not (setf (documentation 'docfoo 'function) nil)))
+ (assert (string= (documentation 'docfoo 'function) "zot")))
#+sb-doc
(with-test (:name (documentation built-in-macro))
#+sb-doc
(with-test (:name (documentation built-in-function))
(assert (documentation 'cons 'function)))
+
+(with-test (:name :describe-generic-function-with-assumed-type)
+ ;; Signalled an error at one point
+ (flet ((zoo () (gogo)))
+ (defmethod gogo () nil)
+ (describe 'gogo)))
+
+(defmacro bug-643958-test ()
+ "foo"
+ :ding!)
+
+(with-test (:name :bug-643958)
+ (assert (equal "foo" (documentation 'bug-643958-test 'function)))
+ (setf (documentation 'bug-643958-test 'function) "bar")
+ (assert (equal "bar" (documentation 'bug-643958-test 'function))))
\f
;;;; success