おそらく、スライムの仕組みにマイナー/メジャーな変更があると思いますが、それ以来、修正するのに苦労しました.
私は、起動時にREPLのようなスライムに慣れています
CL-USER>
*scratch*
バッファと、開いているすべてのバッファと 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()
これは2つの点で私を混乱させます:
- 期待どおりにREPLに出力がありません
- 行にエラーが含まれているという (疑わしい) 仮定が与えられました。
私が得たもう1つの症状は、特定のマクロ式を展開することになっているcx cmがslime-repl sbclバッファーで機能することですが、他のバッファーでは「Cc RETが定義されていません」というメッセージが表示されます。
他の誰かが同様の問題を抱えていて、それを修正する方法を見つけましたか?