[英]How I can eval a buffer and/or an instruction within Emacs with Swank and SLIME?
[英]Emacs slime mini buffer take-over
由於沒有明顯的原因,在 Emacs 中啟動 Slime 會在迷你緩沖區中產生以下消息:
輪詢“/tmp/slime.5000 .. 25”(使用`Mx slime-abort-connection'中止。)[730 次]
那 [730 倍] 不斷增長。 據說,這意味着史萊姆無法啟動,但不,它工作正常。
這是我的 Messages 緩沖區,從 Slime 初始化開始:
../../quicklisp/dists/quicklisp/software/slime-20130217-cvs/contrib/slime-package-fu.el:flet
flet' is an obsolete macro (as of 24.3); use either
flet' is an obsolete macro (as of 24.3); use either
cl-flet' 或cl-letf'. [4 times] Starting Emacs daemon. When done with this frame, type Cx 5 0 Polling "/tmp/slime.5080" .. 1 (Abort with
cl-letf'. [4 times] Starting Emacs daemon. When done with this frame, type Cx 5 0 Polling "/tmp/slime.5080" .. 1 (Abort with
cl-letf'. [4 times] Starting Emacs daemon. When done with this frame, type Cx 5 0 Polling "/tmp/slime.5080" .. 1 (Abort with
Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 2 (Abort withMx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 3 (Abort with
Mx slime-abort-connection' 中止。)輪詢 "/tmp/slime.5080" .. 4(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 5 (Abort with
中止Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 5 (Abort with
Mx slime-abort-connection'.) 輪詢 "/tmp/slime.5080" .. 6 (Abort withMx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 7 (Abort with
Mx slime-abort-connection 中止'。)輪詢“/tmp/slime.5080”.. 8(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 9 (Abort with
Mx slime-abort-connection 中止'。)輪詢 "/tmp/slime.5080" .. 10(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 11 (Abort with
Mx slime-abort-connection 中止。) 輪詢 "/tmp/slime.5080" .. 12 (使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 13 (Abort with
Mx slime-abort-connection'.) 輪詢 "/tmp/slime.5 080" .. 14 (Abort withMx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 15 (Abort with
Mx slime-abort-connection'.) 輪詢 "/tmp/slime.5080" .. 16(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 17 (Abort with
Mx slime-abort-connection'中止。)輪詢“/tmp/slime.5080” .. 18(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 19 (Abort with
Mx slime-abort-connection'中止。)輪詢“/tmp/slime.5080”.. 20(使用Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 21 (Abort with
Mx slime-abort-connection'中止。)輪詢“/tmp/slime.5080”.. 22(中止與Mx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 23 (Abort with
Mx slime-abort-connection'.) 輪詢 "/tmp/slime.5080" .. 24 (Abort withMx slime-abort-connection'.) Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort-connection'.) 在端口 39808 上連接到 Swank.. 輪詢 "/tmp/slime.5080" .. 25(使用Mx slime-abort-connection'.) [2 times] Source file
/home/lawrence /.emacs.d/elpa/clojure-mode-1.11.5/clojure-mode.el' 比字節編譯文件更新 已連接。 讓黑客開始吧! 輪詢 "/tmp/slime.5080" .. 25 (Abort withMx slime-abort-connection'.) [297 times] Mark set Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort- connection'.) [207 次] 標記保存在搜索開始的位置 輪詢“/tmp/slime.5080”.. 25(使用Mx slime-abort-connection'.) [58 times] Cancelled connection attempt. Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort-connection'.) [58 times] Cancelled connection attempt. Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort-connection'.) [1159 次] 字節碼:緩沖區開始輪詢 "/tmp/slime.5080" .. 25 (Abort withMx slime-abort-connection'.) [2 times] byte-code: Beginning of buffer [2 times] Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort-connection'中止。)[2次]字節碼:緩沖區輪詢“/tmp/slime.5080”的開始...... 25(使用Mx slime-abort-connection'.) byte-code: Beginning of buffer Polling "/tmp/slime.5080" .. 25 (Abort with
Mx slime-abort-connection 中止'。)[202 次]
清理你的 .cache/common-lisp/
安裝emacs 24.3后,我有同樣的問題,你可以這樣做
cd /path/slime/contrib
find ./ -name '*.elc' | xargs rm -f
然后,重啟你的 emacs
無限輪詢可能是由於缺少文件swank-loader.lisp
。 檢查變量slime-backend
以查看它是否包含swank-loader.lisp
的正確路徑。
在我的電腦上,我什至沒有swank-loader.lisp
文件(我注意到如果你使用 elpa 安裝slime ,這可能會發生)。 所以我從這里下載了整個史萊姆並得到了正確的結果。
對我來說,問題是我的 .emacs.d/ 文件夾中沒有 /tmp 文件夾。 添加/tmp文件夾解決了問題
在我的 Emacs + Slime + CCL/SBCL/CLISP/ECL 上也出現了同樣的錯誤,我有一個解決方案,在我的系統上,沒問題! 你可以試試。
錯誤的原因可能是slime和swank的版本不匹配。 所以解決方案是使用相同版本的 slime 和 swank。
我的系統是 Raspbian(一種 debian)。 我用命令“apt-get install slime”安裝了 slime,然后 slime 和 emacs 會自動安裝到路徑“/usr/share/common-lisp/source/slime/”。 但我認為該版本不是最新的。
解決方法: 1、獲取最新的slime到你的home路徑:命令:
cd ~/ sudo git clone https://github.com/slime/slime slime cd slime make
2、在~/.emacs中添加tmp path和load-path:
(setq 臨時文件目錄 "/tmp") (添加到列表 'load-path "/home/pi/slime/")
3、將/usr/share/common-lisp/source/slime/重命名為/usr/share/common-lisp/source/slime-back/命令:
須藤 mv /usr/share/common-lisp/source/slime/ /usr/share/common-lisp/source/slime-back/
4、使用最新的slime創建符號鏈接命令:
sudo ln -s /home/pi/slime //usr/share/common-lisp/source/slime
5、刪除緩存和臨時文件命令:
須藤 mv ~/.cache/common-lisp ~/.cache/common-lisp-back
OK,現在可以嘗試啟動emacs和slime了。
對於我在 Debian 10 上,安裝cl-swank
包解決了這個問題。
This package contains the Lisp-side server, needed by the Emacs client (see package slime).
(我的slime
也來自 Debian 倉庫。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.