emacs和SBCL的冲突(?)'FORMAT'功能

Ana*_*nko 2 lisp emacs sbcl slime

我有与SLIME和SBCL的emacs.而且我遇到了emacs将'FORMAT'定义为格式字符串和rest对象的问题,所以在REPL当我试图评估像(格式t"hello")这样的东西时,我得到错误:错误的类型参数:stringp ,t.

是否覆盖了函数的情况?如何让emacs使用SBCL中定义的功能?

猜猜这是一个相当简单的新手问题,但谷歌的'格式'关键字真的很难:)

Jor*_*jon 7

Emacs LispCommon Lisp(SBCL是它的一个实现)是两种不同的语言; 好像你在问你如何System.out.println从你的Emacs Lisp中调用Java .

Emacs Lisp用于扩展和自定义行为或Emacs.

Common Lisp是一种通用编程语言,其中有几种实现,SBCL就是其中之一.它与Emacs或Emacs Lisp无关(除了历史和文化之外).

SLIME是一个与Emacs内部运行的Common Lisp图像对话的工具,你必须首先启动它M-x slime; 在启动SLIME之后,您可以将表单发送到*slime-repl sbcl*缓冲区内正在运行的Common Lisp映像(在您的情况下为SBCL).

您将找到另一个缓冲区*scratch*,您可以在其中键入和评估Emacs Lisp表单.请记住,这与Common Lisp无关.

但是,你需要知道,有一个的Emacs Lisp扩展,增加了许多Common Lisp的构造来的Emacs Lisp,但它仍然是的Emacs Lisp,如果你读到一些关于不要混淆.

是的,起初可能会令人困惑,但不要担心,这只是暂时的.

编辑: 我想补充一点,如果您对Common Lisp感兴趣,您应该阅读以下一本或所有书籍:

另一方面,如果您有兴趣扩展和自定义Emacs本身,您应该阅读以下书籍:

祝好运.