Emacs 粘液-如何补偿最近可能发生的变化
黏液的工作方式可能有一些小的/大的变化,但从那以后我很难修复它 我已经习惯了一种黏液,当开始的时候,会有一个像REPL一样的黏液Emacs 粘液-如何补偿最近可能发生的变化,emacs,common-lisp,slime,sbcl,Emacs,Common Lisp,Slime,Sbcl,黏液的工作方式可能有一些小的/大的变化,但从那以后我很难修复它 我已经习惯了一种黏液,当开始的时候,会有一个像REPL一样的黏液 CL-USER> 一个*scratch*缓冲区,以及所有打开的缓冲区和REPL之间的紧密交互 在意识到Ubuntu软件包系统将不再适用于任何地方后,我使用给定的手册自行安装了emacs24.2和最新的slime(cvs checkout) 我的~/.emacs文件现在如下所示: ;;slime-setup (load (expand-file-name "~
CL-USER>
一个*scratch*
缓冲区,以及所有打开的缓冲区和REPL之间的紧密交互
在意识到Ubuntu软件包系统将不再适用于任何地方后,我使用给定的手册自行安装了emacs24.2和最新的slime(cvs checkout)
我的~/.emacs文件现在如下所示:
;;slime-setup
(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "/home/simkoc/emacs/slime/")
(require 'slime-autoloads)
(slime-setup '(slime-fancy slime-asdf))
启用slime REPL 要初始化的缓冲区(slime设置(slime fancy slime asdf))
已启用所有 我习惯了快捷方式,我通过(加载(扩展文件名“~/quicklisp/slime helper.el”)
(ql:quickload“quicklisp slime助手)
(FORMAT t "foobar~%")
进入缓冲区*scratch*
,然后在其上使用C-M-x,将导致repl打印“foobar”。相反,我得到一个错误:
Debugger entered--Lisp error: (void-function FORMAT)
(FORMAT t "foobar~%")
eval-region(291 312 t (lambda (ignore) (goto-char 312) (quote (FORMAT t "foobar~%")))) ; Reading at buffer position 310
apply(eval-region (291 312 t (lambda (ignore) (goto-char 312) (quote (FORMAT t "foobar~%")))))
eval-defun-2()
eval-defun(nil)
call-interactively(eval-defun nil nil)
recursive-edit()
这让我在两个方面感到困惑:
是否还有其他人遇到类似问题并找到了解决方法?看起来您已经习惯于启动M-x
slime scratch
作为slime模式的一部分。要恢复该功能,您可以在.emacs文件中执行此操作:
(add-hook 'slime-mode-hook 'slime-scratch)
(add-hook 'slime-repl-mode-hook 'slime-scratch)
我不确定你是否真的需要它。当slime启动时,你可能只需要第一个自动创建
*slime scratch*
缓冲区。不,这仍然会导致问题中提到的错误,并且repl的名称为slime repl sbcl,如果它是实际上是Emacs Lisp,不是吗?是的,M-x slime scratch打开了一个正常工作的缓冲区,但我以前从未使用过这个命令,它曾经工作过。但显然这是一个让我困惑的变化,因为(在Scrath不工作之后)我没有尝试其他缓冲区(以.Lisp结尾)。请将您的总结意见作为我接受的答案。