@@ -962,7 +962,18 @@ the given NAME."
962962 (call-next-method )
963963 (preference (release system))))
964964
965+ (defun thing-name-designator (designator)
966+ " Convert DESIGNATOR to a string naming a thing. Strings are used
967+ as-is, symbols are converted to their downcased symbol-name."
968+ (typecase designator
969+ (string designator)
970+ (symbol (string-downcase designator))
971+ (t
972+ (error " ~S is not a valid designator for a system or release"
973+ designator))))
974+
965975(defun find-thing-named (find-fun name)
976+ (setf name (thing-name-designator name))
966977 (let ((result ' ()))
967978 (dolist (dist (enabled-dists) (sort result #' > :key #' preference))
968979 (let ((thing (funcall find-fun name dist)))
@@ -1035,6 +1046,8 @@ FUN."
10351046
10361047
10371048(defgeneric dependency-tree (system)
1049+ (:method ((symbol symbol ))
1050+ (dependency-tree (string-downcase symbol )))
10381051 (:method ((string string ))
10391052 (let ((system (find-system string )))
10401053 (when system
@@ -1057,6 +1070,8 @@ FUN."
10571070
10581071
10591072(defgeneric system-apropos (term)
1073+ (:method ((term symbol ))
1074+ (system-apropos (string-downcase term)))
10601075 (:method ((term string ))
10611076 (dolist (system (provided-systems t ))
10621077 (when (or (search term (name system))
0 commit comments