关于 eval-and-compile
和 eval-when-compile
这个帖子讨论比较多:
macro 不适合拿来 advice。
-
你无法用一个宏 advice 另一个宏:
(advice-add 'old-macro :override 'new-macro)
-
用函数 advice 宏就是驴唇斗马嘴,你可能连接口都没法保证一致:
原宏这样调用:
(old-macro aaa)
函数这样调用:(advice-fn 'aaa)
关于 eval-and-compile
和 eval-when-compile
这个帖子讨论比较多:
macro 不适合拿来 advice。
你无法用一个宏 advice 另一个宏:
(advice-add 'old-macro :override 'new-macro)
用函数 advice 宏就是驴唇斗马嘴,你可能连接口都没法保证一致:
原宏这样调用:(old-macro aaa)
函数这样调用:(advice-fn 'aaa)