From: Christophe Rhodes Date: Mon, 4 Jul 2005 17:07:41 +0000 (+0000) Subject: 0.9.2.24: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=37030518dffacaad5b60d47fe1c0d363cd71ef83;p=sbcl.git 0.9.2.24: Better docstring lambda-list treatment (FSVO "better", but at least gets sb-sprof:with-profiling right) ... also add .cvsignore to internals manual directory --- diff --git a/doc/internals/.cvsignore b/doc/internals/.cvsignore new file mode 100644 index 0000000..364eadc --- /dev/null +++ b/doc/internals/.cvsignore @@ -0,0 +1,12 @@ +*.aux +*.cp +*.fn +*.info +*.ky +*.log +*.pdf +*.pg +*.toc +*.tp +*.vr +*.include diff --git a/doc/manual/docstrings.lisp b/doc/manual/docstrings.lisp index c962706..2ee1dda 100644 --- a/doc/manual/docstrings.lisp +++ b/doc/manual/docstrings.lisp @@ -354,12 +354,31 @@ there is no corresponding docstring." (third (get-name doc))) (t ;; KLUDGE: Eugh. + ;; + ;; believe it or not, the above comment was written before CSR + ;; came along and obfuscated this. (2005-07-04) (when (symbolp (get-name doc)) - (mapcar (lambda (arg) - (labels ((clean (x) - (if (consp x) (clean (car x)) x))) - (clean arg))) - (sb-introspect:function-arglist (get-name doc))))))) + (labels ((clean (x &key optional key) + (typecase x + (atom x) + ((cons (member &optional)) + (cons (car x) (clean (cdr x) :optional t))) + ((cons (member &key)) + (cons (car x) (clean (cdr x) :key t))) + ((cons cons) + (cons + (cond (key (if (consp (caar x)) + (caaar x) + (caar x))) + (optional (caar x)) + (t (clean (car x)))) + (clean (cdr x) :key key :optional optional))) + (cons + (cons + (cond ((or key optional) (car x)) + (t (clean (car x)))) + (clean (cdr x) :key key :optional optional)))))) + (clean (sb-introspect:function-arglist (get-name doc)))))))) (defun documentation< (x y) (let ((p1 (position (get-kind x) *ordered-documentation-kinds*)) @@ -644,7 +663,8 @@ followed another tabulation label or a tabulation body." (defun texinfo-anchor (doc) (format *texinfo-output* "@anchor{~A}~%" (node-name doc))) -(defun texinfo-begin (doc) +;;; KLUDGE: &AUX *PRINT-PRETTY* here means "no linebreaks please" +(defun texinfo-begin (doc &aux *print-pretty*) (let ((kind (get-kind doc))) (format *texinfo-output* "@~A {~:(~A~)} ~(~A~@[ ~{~A~^ ~}~]~)~%" (case kind diff --git a/version.lisp-expr b/version.lisp-expr index cb1893a..d065352 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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.2.23" +"0.9.2.24"