繁体   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