apropos and apropos-list call stuck in infinite loop
When searching symbols with either apropos or apropos-list, and provides package :asdf, the evaluation will be stuck in an infinite loop. The following form cause the REPL hangs and never returns.
(apropos-list "version" :asdf)
The ECL version is 24.5.10.
The issue is probably caused by apropos-list-inner from paclib.lisp:
(defun apropos-list-inner (string package)
(declare (si::c-local))
(let* ((list '())
(string (string string)))
(cond (package
;; the recursive call of apropos-list-inner does not check cycles.
(dolist (p (package-use-list package))
(setf list (nconc (apropos-list-inner string p) list)))
(do-symbols (symbol package)
(when (search string (string symbol) :test #'char-equal)
(setq list (cons symbol list)))))
(t
(do-all-symbols (symbol)
(when (search string (string symbol) :test #'char-equal)
(setq list (cons symbol list))))))
list))