"Thomas F. Burdick" tfb@OCF.Berkeley.EDU writes:
Overall, this looks like a good idea to me, but it does have the possibility of showing you a "nickname" that isn't actually a nickname for the package.
Peter Seibel writes:
- (or (cdr (assoc (package-name package) *canonical-packge-names* :test #'string=))
How about this instead:
(or (let ((nick (cdr (assoc (package-name package) *canonical-package-names* :test #'string=)))) (and nick (find nick (list* (package-name package) (package-nicknames package)))))
Well, if someone wants the "canonical" name for a package to be something that isn't actually a nickname, it's not clear that we should tell them they can't. If you don't want non-nicknames used as the canonical name, don't put them in *canonical-package-names*.
Besides the other part of the change I made will definitely show you a prompt that is not in fact a nickname if you have *auto-abbreviate-dotted-packages* set to T (as it is by default).
-Peter