如何弥补可能的近期变化
可能有一些轻微/重大的变化如何粘液的作品,但从那时起,我很难修复它。
我习惯了一个泥水,开始的时候有一个REPL就像
CL-USER>
a *scratch*
buffer以及所有打开的缓冲区和REPL之间的紧密交互。
在意识到Ubuntu软件包系统不会让我到任何地方的时候,我自己使用给定的手册安装了emacs24.2和最新的软件(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-setup '(slime-fancy slime-asdf))
启用了粘液REPL缓冲区初始化。 (load (expand-file-name "~/quicklisp/slime-helper.el"))
启用了我习惯的所有快捷方式,我通过(ql:quickload "quicklisp-slime-helper)
这些步骤明显地解决了所有问题,但打开的缓冲区和REPL之间的紧密交互仍然被破坏。
例如
我习惯于在打字时进行交互
(FORMAT t "foobar~%")
放入缓冲区*scratch*
然后使用CMx,将导致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()
这使我有两种困惑:
我得到的另一个症状是,应该扩展给定宏表达式的cx cm在Slime-repl sbcl缓冲区中工作,但在其他任何缓冲区中都会显示消息“Cc RET未定义”。
其他人是否遇到过类似的问题并找出解决方法?
看起来你已经用来启动Mx slime-scratch
作为SLIME模式的一部分。 要恢复该功能,您可以在.emacs文件中执行此操作:
(add-hook 'slime-mode-hook 'slime-scratch)
(add-hook 'slime-repl-mode-hook 'slime-scratch)
我不确定在slime-repl-mode-hook
,看看你是否真的需要它。 当SLIME启动时,可能只需要第一个自动创建*slime-scratch*
缓冲区。
上一篇: how to compensate probable recent changes
下一篇: repl isn't here