マクロやインライン関数の場合、再定義してもそれらを利用する関数は、再コンパイルしない限り元の定義が使われるままになってしまいます。

(declaim (inline foo))
(defun foo (x)
  (cons x :foo))


(defun bar (x)
  (foo x))


(defun baz (x)
  (foo x))


(bar 8)
;=>  (8 . :FOO)

(baz 8)
;=>  (8 . :FOO)


;;; 再定義
(defun foo (x)
  (list x :bar))

;; 古いまま
(bar 8)
;=>  (8 . :FOO)

;; 古いまま
(baz 8)
;=>  (8 . :FOO)

新しい定義を利用するようにさせたいのですが、ファイル全体をコンパイルし直すことなく目的の関数だけコンパイルし直すことは可能ですか?