Привет. Столкнулся с проблемой переопределения функции из наследованного пакета. Мне нужно в своем пакете переопределить функцию своей, которая использует эту функцию. Пример:
(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, проблемы не возникло, но как победить эту ситуацию?