Primeiro: Não é realmente recomendado adicionar os diretórios ELPA ao seu caminho de carga manualmente, da maneira que você fez; Se você atualizar esses pacotes através do ELPA, as novas versões estarão em diretórios diferentes, e você terá que revisitar essa parte do código do init para carregar essas versões. Com base no princípio de que é melhor automatizar o máximo possível, é melhor inicializar explicitamente o gerenciador de pacotes, que adicionará automaticamente todos os pacotes instalados ao caminho de carregamento, em vez de esperar que ele inicialize após o init, como é o padrão ; veja esta resposta para saber como isso é feito.
Agora, então: Não tenho certeza de onde obtive esta estrofe de código de inicialização do Slime, mas isso nunca falhou comigo ainda:
(add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/slime"))
(require 'slime)
(add-hook 'lisp-mode-hook (lambda () (slime-mode t)))
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
(setq inferior-lisp-program "sbcl")
(slime-setup '(slime-fancy slime-asdf))
Dito isso, só uso o SBCL e vejo várias implementações. Provavelmente, a melhor maneira de modificar esse código de inicialização para o seu caso seria algo assim:
(require 'slime)
(add-hook 'lisp-mode-hook (lambda () (slime-mode t)))
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
(setq slime-lisp-implementations
'((sbcl ("/usr/bin/sbcl"))
(ecl ("/usr/bin/ecl"))
(clisp ("/usr/bin/clisp" "-q -I"))))
(slime-setup '(slime-fancy slime-asdf hippie-expand-slime))
Como você já inicializou o gerenciador de pacotes de acordo com meus comentários anteriores, não é necessário adicionar nada explicitamente ao caminho de carregamento; já que você usa vários Lisps, também substituímos o (setq inferior-lisp-program "...")
.
Com isso, M-x slime
chamará o SBCL e fornecerá um REPL, & c, enquanto M-- M-x slime
solicitará a implementação do Lisp para invocar.