Что не так с моей настройкой emacs / slime (не работает compile-and-load / eval)? - PullRequest
6 голосов
/ 29 декабря 2010

Я могу запустить emacs и запустить slime (с M-x slime).В этот момент я получаю REPL в буфере inferior-lisp и могу запустить там lisp.Но когда я открываю код lisp в другом буфере, ничего из слизи не работает (C-x C-e, C-c C-k и т. Д.), И я продолжаю видеть это в буфере Messages (с увеличивающимся числом-числом):

slime-connection: Not connected.

Polling "/var/folders/B9/B9B5J15dH+aNt5J5gkROEk+++TI/-Tmp-/slime.3202".. (Прервать с помощью `Mx slime-abort-connection '.) [69 раз]

Заставляет меня думать, что слизь не подключается к правильному интерпретатору lisp, но, поскольку я очень новичок в emacs и lispЯ застрял здесь.Моя установка:

Ответы [ 2 ]

6 голосов
/ 29 декабря 2010

Вот что я сделал, чтобы Common Lisp и Clojure работали в одной и той же установке Emacs вместе с отличным emacs-starter-kit.Это не позволит вам использовать оба одновременно (вам нужно перезапустить Emacs для переключения с CL на Clojure или наоборот)

Я считаю, что версия SLIME в ELPA старая, но работает на Clojure,Более новая версия SLIME не будет работать для Clojure.Кроме того, эта версия SLIME, кажется, урезана (без swank-loader.el?) И не будет работать с Common Lisp.

Это шаги, которые я сделал, чтобы заставить это работать, простоработал на меня.Все биты находятся в стадии активной разработки, поэтому я думаю, что поломка в этой области весьма вероятна.

Со свежим Emacs (никакой конфигурации вообще, поэтому переместите что-нибудь .emacs куда-нибудь еще на данный момент), установите ELPA:

http://tromey.com/elpa/install.html

В Emacs установите пакеты "slime" и "slime-repl".(M-x package-list-packages, затем C-s slime, затем i для выбора и x для установки)

Переместите файлы в ~/.emacs.d/elpa/slime-20100404 и ~/.emacs.d/elpa/slime-repl-20100404 в новый каталог, например ~/hacking/lisp/elpa-slime.

Выкиньте установку ELPA: $ rm -rf .emacs.d.

Теперь клонируйте стартовый комплект emacs и переместите его в .emacs.d.Я сделал это только с свежей копией из Github от Technomancy, поэтому попробуйте сначала, если у вас возникли проблемы.

Получите последний SLIME с CVS:

cvs -d :pserver:anonymous:anonymous@common-lisp.net:/project/slime/cvsroot co cvs-slime

Я не думаю, что OS Xпоставляется с установленным CVS, так что вам нужно будет установить его из Macports, Homebrew или чего-то еще.

Я положил cvs-slime в ~/hacking/lisp.

Надеюсь, очевидно, что Emacs Lisp нижеделает:

(defun slime-common-lisp ()
  (interactive)
  (setq inferior-lisp-program "/usr/local/bin/sbcl") ; your Common Lisp impl
  (add-to-list 'load-path "~/hacking/lisp/cvs-slime/")  ; your SLIME from CVS directory
  (require 'slime)
  (slime-setup '(slime-repl))
  (slime))

(defun slime-clojure ()
  (interactive)
  (add-to-list 'load-path "~/hacking/lisp/elpa-slime")
  (require 'slime)
  (slime-setup '(slime-repl))
  (slime-connect "localhost" 4005))

Для Clojure вам нужно запустить среду выполнения Clojure и swank-clojure на порту 4005, я думаю, использование Leiningen - это одобренный метод:

Создайте новый проект:

$ lein new project
$ cd project

In project.clj:

(defproject newclj "1.0.0-SNAPSHOT"
    :description "FIXME: write"
    :dependencies [[org.clojure/clojure "1.2.0"]
                   [org.clojure/clojure-contrib "1.2.0"]]
    :dev-dependencies [[swank-clojure "1.2.1"]])

Затем:

$ lein deps
$ lein swank

Отредактировано, чтобы добавить:

Если вы обнаружите, что Paredit вSLIME REPL не работает во время использования этой настройки, проверьте это: http://www.emacswiki.org/emacs/ParEdit#toc3

По крайней мере, еще одна потенциальная проблема с этим заключается в том, что, AFAICT, если вы откроете исходный файл Common Lisp и затем запустите SLIME, выне сможет отправлять формы из первого буфера в буфер SLIME.Поэтому откройте буфер SLIME перед открытием любых исходных файлов Common Lisp, и он должен работать.Похоже, это не относится к Clojure.

Ссылки:

Настройка emacs для clojure и общего списка с slime-fancy (slime-autodoc)

https://github.com/technomancy/swank-clojure/issues/closed#issue/31/comment/544166

0 голосов
/ 07 марта 2016

Если у вас правильно установлена ​​ slime в вашей системе, лучше используйте sbcl и добавьте следующую строку в ваш ~/.emacs (setq inferior-lisp-program "/usr/bin/sbcl")

/ usr / bin / sbcl может отличаться в зависимости от пути установки sbcl .

...