Чтобы получить связанные переменные только из cl-user
, вы перебираете все связанные символы с do-symbols
и исключаете символы, импортированные из других пакетов:
(let ((external-symbols (mapcan (lambda (pkg)
(let (rez)
(do-symbols (s pkg rez)
(push s rez))))
(package-use-list (find-package 'cl-user)))))
(do-symbols (s 'cl-user)
(when (and (boundp s)
(not (member s external-symbols)))
(print s))))