我的初始化中有这段代码:
(defadvice kill-buffer (around show-diff-rephrase-question activate compile)
"Prompt when a buffer is about to be killed."
(case (read-char-choice
"(s/k/q)? "
(append "sSKkQq" nil))
((?s ?S)
ad-do-it)
((?k ?K)
ad-do-it)
((?q ?Q) nil))
ad-do-it)
当我打电话eval-buffer
评估它时它会起作用。但是,如果我编译初始化文件,我会得到
无效功能:(115 83)
如果我插入(case ...)
sexp 的宏扩展,那么它作为编译文件工作。