【发布时间】:2012-02-07 18:56:14
【问题描述】:
假设我有一个函数(foo) 定义为(defun foo () (read-from-minibuffer "What? "))。我无法更改定义,但我想将其包装在宏或其他函数中,以避免手动给出任何值。
不幸的是,以下解决方案不起作用,因为 (exit-minibuffer) 仅在离开迷你缓冲区后才被调用,所以我想知道您是否知道一些事情。
(defmacro return-an-empty-string (&rest code) `(progn ,@code (exit-minibuffer))) (defun return-an-empty-string (function) (funcall function) (exit-minibuffer))
谢谢!
【问题讨论】:
-
你想做什么?如果您提供更多详细信息,有人可能会找到解决您潜在问题的直接方法。
-
我最初的问题是函数
(slime-compile-and-load-file)每次都要求我保存文件并且没有变量可以覆盖它。我用 Sean 解决方案的变体修复了它:(defun slime-just-do-it () (interactive) (flet ((y-or-n-p (&rest ignore) t)) (slime-compile-and-load-file)))
标签: emacs