如何在MIT-Scheme中以编程方式在Edwin中调用M-x函数?

我将MIT方案与edwin编辑器配合使用,并且由于默认字体大小很小,因此我执行M-x set-font,然后选择

-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1

使字体变大。效果很好,但是当我尝试放

(set-font "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1")

在我的~/.edwin中,它抱怨Unbound variable: set-font

在emacs中,通常可以在Elisp中以编程方式直接调用M-x中的交互函数,但显然在这里不是这样。我尝试通过阅读带有“信息mit-scheme-user”的手册来阅读有关如何自定义edwin的更多信息,但是edwin章节专门说

  

本手册不讨论自定义edwin

如何通过编程方式致电set-font

struts2010 回答:如何在MIT-Scheme中以编程方式在Edwin中调用M-x函数?

显然,Edwin命令不是过程,不能直接在Scheme代码中调用。但是,通过一个简单的修复程序就可以实现这一点,只需用ref-command宏将其包装起来即可:

`((ref-command set-font) "-adobe-courier-bold-r-normal--24-240-75-75-m-150-iso8859-1")`

来源:A 1997 mailing list thread with this exact same question

  

Edwin命令不是过程(不同于GNU Emacs)。埃德温(Edwin)命令   是一个具有不寻常名称的特殊对象。如果要调用一个   程序中的命令,则必须使用REF-COMMAND宏。对于   例如,要启动shell缓冲区,就像键入“ M-x shell”一样:((ref-command shell) #t)

本文链接:https://www.f2er.com/2875294.html

大家都在问