【问题标题】:How to fix "Symbol's function definition is void" while loading up a color theme in emacs24?在 emacs24 中加载颜色主题时如何修复“符号的函数定义无效”?
【发布时间】:2013-10-15 06:34:58
【问题描述】:

当我加载我的.emacs 时,虽然颜色主题 twilight 加载得很好,但它向我显示了以下错误消息:

Symbol's function definition is void: color-theme-twilight

在我的.emacs 中,我添加了以下几行来添加颜色主题:

(require 'color-theme)
(setq color-theme-is-global t)
(color-theme-initialize)
(color-theme-twilight)

color-theme-twilight.el 文件位于~/.emacs.d/themes/

我看了this 的问题。但是解决方案是对错字进行更正。但我没有打错字。我在emacs24上。有什么问题?

【问题讨论】:

    标签: emacs color-scheme


    【解决方案1】:

    解决了这个问题。删除所有行:

    (require 'color-theme)
    (setq color-theme-is-global t)
    (color-theme-initialize)
    (color-theme-twilight)
    

    刚刚添加:

    (load-file "~/.emacs.d/themes/color-theme-twilight.el")
    

    问题出在最后一行:

    (color-theme-twilight)
    

    根本不需要其他三行。不确定这是否是最优雅的解决方案。

    【讨论】:

    • 我现在不记得了,但我想这可能是我的load-path 上没有的文件。有关何时出现此类错误的更多信息here
    【解决方案2】:

    如果您使用的是 emacs 24,我认为您可以通过这一行更改包含的 4 行:

    (load-theme 'twilight t)
    

    没有额外的要求;这使用 emacs 24 主题方法。

    如果您使用的是最新版本的 twilight,那应该不会出错。

    【讨论】:

    • 尝试将 .el 文件移动到加载路径中的目录。事实上,如果你通过 package-install 安装那个主题会更简单。
    【解决方案3】:

    您说“color-theme-twilight.el 文件位于 ~/.emacs.d/themes/ 中。”但是我看不到您加载该文件的位置。将(require 'color-theme-twilight) 添加到您的初始化文件中,并确保color-theme-twilight.el 在您的load-path 中。

    【讨论】:

    • 试过了。错误信息:Cannot open load file: color-theme-twilight
    • 如果您将一个名为color-them-twilight.el 的文件放在您的load-path 中,并且如果您评估(require 'color-theme-twilight),并且如果该文件是(provide 'color-theme-twilight),那么该文件将被加载。但是如果文件没有provide,那么你需要使用load-libraryloadload-file来加载它,而不是require。如果它有provide,但provide 给出的功能名称与color-theme-twilight 不同,那么您的require 也需要使用该功能名称。对我提到的每个功能都做C-h f,你无疑会明白。
    猜你喜欢
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多