有没有办法捕捉到 Common Lisp 包被定义的时刻?

Ale*_*nko 4 common-lisp asdf quicklisp

我想收集在 ASDF 系统加载期间定义的所有包。

已经尝试过:

  1. 使用(list-all-packages)系统加载前后的区别,但不是很方便,因为有些系统可以作为我正在检查的系统的依赖项加载,我需要进行集合提取。

  2. 试图定义一个initialize-instance :after ((package package) &rest initargs)方法,但在defpackage评估表单时它不会被调用。

此外,当我快速加载 ASDF 系统时,我会看到[package dexador]它的输出。quicklisp 如何做到这一点?

Xac*_*ach 6

在 Quicklisp 中,我使用了*macroexpand-hook*.