diff --git a/src/lsp/packlib.lsp b/src/lsp/packlib.lsp index a94415d2d..40e201d54 100644 --- a/src/lsp/packlib.lsp +++ b/src/lsp/packlib.lsp @@ -19,15 +19,14 @@ Returns a list of all symbols that have the specified print name. STRING-DESIGNATOR may be a symbol, in which case the print name of the symbol is used." - (when (symbolp string-or-symbol) - (setq string-or-symbol (symbol-name (the-symbol string-or-symbol)))) - (mapcan #'(lambda (p) - (multiple-value-bind (s i) - (find-symbol string-or-symbol p) - (if (or (eq i :internal) (eq i :external)) - (list s) - nil))) - (list-all-packages))) + (let ((symbol-name (string string-or-symbol))) + (mapcan #'(lambda (p) + (multiple-value-bind (s i) + (find-symbol symbol-name p) + (if (or (eq i :internal) (eq i :external)) + (list s) + nil))) + (list-all-packages)))) (defun packages-iterator (packages options maybe-list) (let ((all-symbols nil))