我使用SLIME和EMACS進行Common LISP,並使用SBCL編譯器。 SLIME的autodoc功能,其中函數參數顯示在minibuffer中,工作正常。Slime autodoc在定製REPL時
但是,當我執行類似以下的自定義REPL:
(defun game-repl()
(let ((cmd (game-read)))
(unless (eq (car cmd) 'quit)
(game-print (game-eval cmd))
(game-repl))))
的車博士功能不工作了。不在LISP緩衝區中,也不在我的自定義REPL中。可能是因爲SBCL進程忙於我的REPL(等待輸入)並且無法與SLIME通信。
後,我開始另一個SBCL過程與C-u M-x slime
,車博士將再次特點的作品,但只有在LISP緩衝區。
那麼,有沒有辦法讓我的自定義REPL中的SLIME autodoc?
我曾經有過幾次這種情況。有時候,SWANK,Emacs和REPL之間的狀態似乎被搞亂了。 –
您是否嘗試在一個線程中啓動您的自定義REPL? 即使用'bordeaux-threads' '(bordeaux-threads:make-thread#'game-repl)' – Daimrod