【问题标题】:emacs startup 'Symbol's function definition is void: debian-startup'emacs startup 'Symbol 的函数定义无效:debian-startup'
【发布时间】:2014-11-11 17:37:38
【问题描述】:

我在 emacs 启动时遇到一个错误,导致它无法加载我在命令行上给它的文件名。我在 ~.emacs 或 ~/.emacs.d/init.el 中没有看到任何关于“debian-startup”的内容。这是什么信息?我怎样才能让它消失?如果它消失了,我是否可以直接从命令行打开一个文件,比如 [emacs project.clj]?我不知道这是否重要,但它的 GNU Emacs 24.3.50.1 在 Ubuntu Saucy Server VM 上运行。

【问题讨论】:

    标签: ubuntu emacs debian


    【解决方案1】:

    此线程的最后一个条目是 1.5 年前,但问题仍然存在。我想我找到了它的来源。今天我安装了 Ubuntu 15 并添加了 Emacs。启动 Emacs 产生了关于函数 debian-startup 未定义的错误。我在网上没有找到太多关于这个的信息,虽然我不明白为什么不——当然很多很多人在 Ubuntu 上使用 Emacs。也许问题甚至不仅限于 Ubuntu,而是出现在任何 Debian Linux 中。

    问题原来是debian-startup.el 在(例如,对于 Emacs.24.5)/usr/share/emacs/24.5/site-lisp 中找到,这是 load-path 中的早期条目之一。在那里,它是指向/usr/share/emacs/site-lisp/debian-startup.el 的链接。该文件存在并定义了函数debian-startup然而,在链接的同时安装了一个空文件/usr/share/emacs/24.5/site-lisp/debian-startup.elc。这个文件不应该存在——几乎不适合对任何类型的 init 文件进行字节编译。在这种情况下,空的编译文件被加载以代替真正的 Lisp 文件,所以当然debian-startup 没有定义。删除.elc 文件即可解决问题。 (请注意,这必须针对正在使用的每个 Emacs 版本单独完成。)

    (这么久了,Emacs的安装包里居然还有这个问题,这似乎很奇怪?也许我漏掉了什么。)

    【讨论】:

    • 绝妙的答案!删除提到的文件已成功解决该问题。非常感谢!
    • 谢谢,这有帮助!
    • 3年后这个问题还存在???怎么回事?!但很高兴我的回答很有帮助。
    • 同样的问题在 emacs 25.2 上仍然存在,这个修复也解决了这个问题。
    【解决方案2】:

    把这个放在你启动 Emacs 的命令行上:--debug-init。然后,当出现错误时,您将被放入调试器,您可以在其中看到回溯,显示尝试调用未定义函数的内容等。

    (听起来可能是 Debian 站点的 init 文件中存在导致问题的原因。您可能还想直接询问 Debian 人员。;-))

    【讨论】:

    • 嗯。 --debug-init 似乎没有做任何不同的事情。看来我必须找出 Debian 的人是谁。
    • 这意味着在处理您的 init 文件时不会引发错误。如果您使用 emacs -Q 启动 Emacs 并在命令行中提及相同的文件,会发生什么情况?如果你不使用-Q(和以前一样)但你没有在命令行上指定任何文件会发生什么?
    • 当我使用emacs -Q bob.txt 时,文件打开没有问题。当我emacs bob.txt 我看到“符号的功能无效”投诉。当我emacs 没有任何文件名时,我看到“符号的功能无效”投诉。我发现了一个名为 /usr/share/emacs-snapshot/site-lisp/debian-startup.el 的文件,它可能是问题的根源,但我并不真正了解 emacs 启动,也不知道为什么我的虚拟机从 emacs 的一些快照中工作,文件本身对我来说看起来不错。
    • 好的,那么你就知道问题不在你的init文件中,与命令行中提到文件无关。问题可能出在default.elsite-start.el 上。请参阅 Emacs 手册,节点 Init File。联系 Debian/Ubuntu(您可能想在 Ubuntu S.E. 网站上提出问题)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2018-05-07
    • 2023-03-23
    • 2018-12-24
    相关资源
    最近更新 更多