X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/649798abde0fd23d517b09f0c030b266ce117c67..388caffa4fd539913abcd68d3a5bae63732b66bc:/doc/list-exports.lisp diff --git a/doc/list-exports.lisp b/doc/list-exports.lisp index f4cdfab..50861f9 100644 --- a/doc/list-exports.lisp +++ b/doc/list-exports.lisp @@ -19,10 +19,13 @@ (defmethod form-list-exports ((head (eql 'definst)) tail) (destructuring-bind (code (streamvar &key export) args &body body) tail - (declare (ignore streamvar args body)) + (declare (ignore streamvar body)) (and export - (list (symbolicate code '-inst) - (symbolicate 'make- code '-inst))))) + (list* (symbolicate code '-inst) + (symbolicate 'make- code '-inst) + (mapcar (lambda (arg) + (symbolicate 'inst- arg)) + args))))) (defmethod form-list-exports ((head (eql 'define-tagged-type)) tail) (destructuring-bind (kind what) tail @@ -34,6 +37,9 @@ (defmethod form-list-exports ((head (eql 'macrolet)) tail) (mapcan #'form-exports (cdr tail))) +(defmethod form-list-exports ((head (eql 'eval-when)) tail) + (mapcan #'form-exports (cdr tail))) + (defmethod form-list-exports ((head (eql 'progn)) tail) (mapcan #'form-exports tail)) @@ -69,7 +75,7 @@ (let ((home (car assoc))) (dolist (symbol (cdr assoc)) (let ((name (symbol-name symbol))) - (unless (find-symbol name package) + (unless (nth-value 1 (find-symbol name package)) (format *error-output* ";; unexported: ~S~%" symbol)) (setf (gethash name homes) home))))) (dolist (symbol symbols) @@ -178,7 +184,8 @@ package)) (remove super (sb-mop:class-direct-superclasses this)))) - (dolist (sub (reverse (gethash this subs))) + (dolist (sub (sort (copy-list (gethash this subs)) + #'string< :key #'class-name)) (walk-down sub this (1+ depth))))) (walk-down (find-class t) nil 0)))) @@ -196,6 +203,7 @@ (pretty-symbol-name sym package) (cdr def)))) (terpri))) + (format t "Classes:~%") (analyse-classes package) (terpri)) @@ -203,9 +211,10 @@ (labels ((components (comp) (slot-value comp 'asdf::components)) (files (comp) - (remove-if-not (lambda (comp) + (sort (remove-if-not (lambda (comp) (typep comp 'asdf:cl-source-file)) - (components comp))) + (components comp)) + #'string< :key #'asdf:component-name)) (by-name (comp name) (find name (components comp) :test #'string= :key #'asdf:component-name))