There has probably some minor/major change in how slime works, but since then I got a hard time fixing it.
I am used to a slime where, when started, there is a REPL like
CL-USER>
a *scratch*
buffer and a tight interaction between all open buffers and the REPL.
After realizing that the Ubuntu package system wont get me anywhere anymore I installed emacs24.2 and the newest slime (cvs checkout) by myself using the given manuals.
My ~/.emacs file now looks like this:
;;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))
enabled the slime REPL
buffer to be initialized.(load (expand-file-name "~/quicklisp/slime-helper.el"))
enabled all
the shortcuts I am used to, I downloaded the package via
(ql:quickload "quicklisp-slime-helper)
those steps apparently fixed everything but the tight interaction between the open buffers and the REPL which is still broken.
E.g.
I am used to an interaction where typing
(FORMAT t "foobar~%")
into a buffer *scratch*
and then using C-M-x on it, would result in the repl printing "foobar". Instead I am getting an error:
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()
which confuses me in two ways:
Another symptom I got is, that c-x c-m which is supposed to expand a given macro-expression works in the slime-repl sbcl buffer, but in any other buffer the message "C-c RET is not defined" appears.
Does anybody else got similar problems and figured out how to fix it?
It looks like you've used to start M-xslime-scratch
as part of the SLIME mode. To have that functionality back you could do this in your .emacs file:
(add-hook 'slime-mode-hook 'slime-scratch)
(add-hook 'slime-repl-mode-hook 'slime-scratch)
I'm not sure on slime-repl-mode-hook
, see if you really need it. Probably you need only the first one to automatically create *slime-scratch*
buffer when SLIME starts.