Source
(defun apropos* (&rest apropos-args)
(flet ((princ-length (sym)
(if (keywordp sym)
(+ 1 (length (symbol-name sym)))
(+ (length (package-name (symbol-package sym)))
1
(length (symbol-name sym))))))
(let* ((syms (apply #'apropos-list* apropos-args))
(longest (apply #'max (mapcar #'princ-length syms))))
(dolist (sym syms)
(if (keywordp sym)
(progn
(princ ":" *debug-io*)
(princ (symbol-name sym) *debug-io*))
(progn
(princ (package-name (symbol-package sym)) *debug-io*)
(princ ":" *debug-io*)
(princ (symbol-name sym) *debug-io*)))
(princ (make-string (- longest (princ-length sym))
:initial-element #\Space)
*debug-io*)
(when (fboundp sym)
(princ " [FUNC] " *debug-io*))
(when (boundp sym)
(princ " [VAR] " *debug-io*))
(terpri *debug-io*))))
(values))
Source Context