给macro添加的advice在byte-compile时无效?

关于 eval-and-compileeval-when-compile 这个帖子讨论比较多:

macro 不适合拿来 advice。

  1. 你无法用一个宏 advice 另一个宏:

    (advice-add 'old-macro :override 'new-macro) :x:

  2. 用函数 advice 宏就是驴唇斗马嘴,你可能连接口都没法保证一致:

    原宏这样调用:(old-macro aaa)
    函数这样调用:(advice-fn 'aaa)

1 个赞