diff --git a/pcl/cmucl-documentation.lisp b/pcl/cmucl-documentation.lisp index 44d2d30c78bf54c41f2ca43d773a3a2388fa6102..77a044b6ad62ee11475a3e3fcdd776ad227a3977 100644 --- a/pcl/cmucl-documentation.lisp +++ b/pcl/cmucl-documentation.lisp @@ -4,7 +4,7 @@ ;;; the public domain, and is provided 'as is'. (file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/cmucl-documentation.lisp,v 1.13 2003/07/20 13:55:11 emarsden Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/cmucl-documentation.lisp,v 1.14 2005/07/13 13:43:35 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -52,6 +52,12 @@ (defmethod (setf documentation) (new-value (x symbol) (doc-type (eql 'function))) (setf (info function documentation x) new-value)) +(defmethod (setf documentation) (new-value (x function) (doc-type (eql 'function))) + (setf (info function documentation x) new-value)) + +(defmethod (setf documentation) (new-value (x function) (doc-type (eql 't))) + (setf (info function documentation x) new-value)) + (defmethod (setf documentation) (new-value (x symbol) (doc-type (eql 'setf))) (setf (info setf documentation x) new-value)) @@ -127,6 +133,20 @@ (defmethod (setf documentation) (new-value (x symbol) (doc-type (eql 'variable))) (setf (info variable documentation x) new-value)) +;;; Compiler macros +(defmethod documentation ((x list) (doc-type (eql 'compiler-macro))) + (when (valid-function-name-p x) + (if (eq (car x) 'setf) + (cdr (assoc doc-type (values (info random-documentation stuff (cadr x))))) + (cdr (assoc doc-type (values (info random-documentation stuff x))))))) + +(defmethod (setf documentation) (new-value (x list) (doc-type (eql 'compiler-macro))) + (when (valid-function-name-p x) + (if (eq (car x) 'setf) + (set-random-documentation (cadr x) doc-type new-value) + (set-random-documentation x doc-type new-value))) + new-value) + ;;; CMUCL random documentation. Compiler-macro documentation is stored ;;; as random-documentation and handled here. (defmethod documentation ((x symbol) (doc-type symbol))