Как получить подсказку в SLIME?
Я только что установил SLIME в Emacs, но иногда, когда я набираю текст, я получаю сообщение об ошибке, и появляется отладчик, и я выхожу из него, но когда я возвращаюсь к REPL, я ничего не могу оценить. Я тоже не могу получить подсказку.
Я хотел бы что-то вроде Ctrl-C
в версии Lisp для командной строки, которую я использую (SBCL).
Я просто застрял в чем-то вроде
*
Process inferior-lisp
(list 1 2 3 4)(quit)
Ничто, кажется, не возвращает меня к *
подскажите, и ничего не оценивает.
Освободи меня!! Как я могу получить подсказку обратно в SLIME REPL?
1 ответ
Когда буфер открылся, вы, вероятно, увидели буфер с содержимым, которое выглядит примерно так (я создал это, оценивая (+1 'foo)
Аргумент Y не является НОМЕРОМ: FOO [Условие типа SIMPLE-TYPE-ERROR]
Перезапуски: 0: [RETRY] Повторить запрос оценки SLIME REPL. 1: [*ABORT] Возврат к верхнему уровню SLIME. 2: [ABORT] Прервать поток (#)
Обратный след: 0: (SB-KERNEL:TWO-ARG-+ 1 FOO) 1: (+ #) [больше, опционально] 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (+ 1 (QUOTE FOO)) #)
Если вы просто закроете этот буфер (возможно, нажав C-xk<RET>
) тогда вам не будет выдан новый запрос сразу. Если вы нажмете кнопку возврата еще раз в REPL, вы получите новое приглашение.
Тем не мение. Правильный способ выхода из отладчика - ввести номер одного из перезапусков или перейти к строке перезапуска, которую вы хотите выполнить, и затем нажать клавишу возврата.