簡體   English   中英

Emacs slime mini 緩沖區接管

[英]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 with Mx 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 with Mx 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 with Mx 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 with Mx 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 with Mx 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 with Mx 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM