2009-10-31 4 views
7

В последнее время я был зачислен в длительные вычисления благодаря Project Euler, и я хотел бы знать, как отменить оценку и вернуться к приглашению REPL. Я использую стандартную версию Emacs Clojure Box. Я пробовал очевидное REPL> Процесс прерывания Lisp и Слизь> Команда прерывания, но не убивает выполнение и не возвращает запрос REPL.Как я могу отменить оценку в Clojure Box (Emacs)?

ответ

11

Хит-контроль c дважды. Если вы находитесь в *slime-repl clojure*, тогда C-c C-c убьет процесс и вернет вас в приглашение repl. Если вы находитесь в буфере *inferior-lisp*, вы, вероятно, убьете процесс clojure, что означает, что вам придется перезапустить слизь (с M-x slime). Если у вас нет буфера slime repl, тогда M-x slime-repl должен предоставить вам один. Вы можете использовать это как замену, чтобы получить несколько дополнительных функций (попробуйте нажать запятую и вкладку и посмотреть, что доступно;)

+0

Я пробовал, и он не работает. Обе команды, перечисленные в вопросе - Interrupt Lisp Process & Interrupt Command, перечислены в C-c C-c в меню. Ничего не работает. – rcampbell

+0

* huh * ... работает для меня ... вы в реплике слизи? или буфер, называемый * нижний-lisp * ?? – l0st3d

+0

Странно; это * иногда * работает для меня, но в других случаях не – rcampbell

2

Когда что-то действительно зажато, вы можете убить свой экземпляр lisp с помощью M-x slime-quit-lisp, а затем перезапустить его с помощью M-x slime