1

我的最终目标是让 magit 在 openSUSE Tumbleweed 上使用 Emacs 27.1 再次工作,但前面的问题是让(melpa?)包管理工作 - 所以这就是这篇文章的真正内容。我在使用其他软件包时遇到了这些问题;magit 只是一个例子,因为想要很棒。我最近没有使用 Emacs 26.3 安装任何软件包,但我的假设是没问题。马吉特肯定在工作。

尝试是从裸木开始:

rm .emacs
rm -r .emacs.d

需要 melpa 来获取 magit,所以我创建了一个新的 .emacs,里面只有这个:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

重新启动 emacs,package-list 命令会在其中显示大量的 melpa 内容(耶!)。包括魔术师!

因此,我通过单击“安装”按钮安装它(版本 20200820.227),然后在要求确认时单击“是”。以下是“消息”缓冲区末尾发生的情况:

Wrote /home/tcarroll/.emacs.d/elpa/magit-20200820.227/magit-autoloads.el [2 times]
Loading async...done
Contacting host: melpa.org:80

error in process sentinel: async-handle-result: End of file during parsing
error in process sentinel: End of file during parsing

此时 magit 已“安装” - 并且 magit-status 甚至可以工作。但是如果我重新启动 Emacs,运行 magit-status 会导致:

load-history-filename-element: Wrong type argument: stringp, (require . info)

...而且我实际上并没有得到任何 Git 状态。

在启动 Emacs 26.3 时,我得到了一些我不记得曾经得到的输出:

Warning: game dir '/var/games/emacs': Permission denied
Loading loadup.el (source)...
dump mode: nil
Using load-path (/usr/share/emacs/27.1/site-lisp /usr/share/emacs/site-lisp /usr/share/emacs/27.1/lisp /usr/share/emacs/27.1/lisp/emacs-lisp /usr/share/emacs/27.1/lisp/progmodes /usr/share/emacs/27.1/lisp/language /usr/share/emacs/27.1/lisp/international /usr/share/emacs/27.1/lisp/textmodes /usr/share/emacs/27.1/lisp/vc)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/byte-run...done
Loading emacs-lisp/backquote...

几屏“加载”这个和那个;如果有帮助,我可以包括更多。我的猜测是这与新的便携式翻斗车有关?

我附近有很多刮得很干净的牦牛(其余的都很害怕)。试图防止这个时间过长。

根据要求添加新信息:

openSUSE Tumbleweed 今天更新到 emacs。仍为 27.1 版,但已过时:

GNU Emacs 27.1 (build 1, x86_64-suse-linux-gnu, GTK+ Version 3.24.22, cairo version 1.16.0) of 2020-08-25

通过 toggle-debug-on-error 切换调试。不幸的是,安装行为并不是什么新鲜事;仍然

async-handle-result: End of file during parsing

再次感谢您的帮助!

4

1 回答 1

2

原来 /usr/bin/emacs 是一个脚本而不是二进制文件(我敢肯定,对你们大多数人来说,这是个老新闻),它决定了调用 Emacs 的不同方式。对我来说,关键是最后它会这样做:

exec -a emacs /usr/bin/emacs-gtk

这会导致 Emacs 发出大量关于“加载”这个和那个的消息,包括 loadup.el,最后在包方面无法正常工作(Org 和 Magit 都受到影响,可能还有其他)。

当我改为调用它时:

/usr/bin/emacs-gtk

...我没有看到任何“加载”消息。Magit 和 Org 都可以正常工作。

从我对这个“exec -a”的有限理解来看,似乎“不应该”存在这种行为差异,所以在我的环境中可能是我忽略了一些愚蠢的事情。但是东西现在起作用了。

于 2020-08-26T03:21:51.733 回答