Привет. Столкнулся с проблемой переопределения функции из наследованного пакета. Мне нужно в своем пакете переопределить функцию своей, которая использует эту функцию. Пример:
(defpackage :x1
 (:use :cl)
 (:export :foo))
(in-package :x1)
(defun foo ()
 (format t "42~%"))
(defpackage :x2
 (:use :cl :x1)
 (:shadowing-import-from :x1 :foo))
(in-package :x2)
(defun foo ()
 (x1::foo)) <- stack overflow
(foo)Получается бесконечная рекурсия. Если бы x1 не импортировал foo, проблемы не возникло, но как победить эту ситуацию?


