【问题标题】:Invalid function warning in EmacsEmacs 中的无效函数警告
【发布时间】:2010-11-25 21:18:54
【问题描述】:

我想摆脱 Emacs 访问的自动“启动屏幕”(称为 GNU Emacs)。我在我的 .emacs 文件中添加了以下行:

(add-hook 'after-init-hook '(kill-buffer "GNU Emacs"))

嗯,它有效,但我在回显区域收到以下警告消息:

"无效函数:(kill-buffer "GNU Emacs")

我看不出什么是无效的。有人知道吗?

谢谢, 附言我确信更好的方法是让 Emacs 一开始就不要访问 GNU Emacs,但我还没有弄清楚如何做到这一点(可能在 default.el文件?)

【问题讨论】:

    标签: emacs warnings


    【解决方案1】:
    1. 看看变量inhibit-startup-screen

      (setq inhibit-startup-screen t)
      
    2. 函数add-hook 需要一个函数作为它的第二个参数; '(kill-buffer ...) 计算为一个列表,它不是一个函数。将其转换为函数的一种方法是使用 lambda 运算符:

      (add-hook 'after-init-hook (lambda () (kill-buffer "GNU Emacs")))
      

    【讨论】:

    • 是的,解决方案 1 完全适合该任务。它让我想起了 Apple 的口号,“有一个应用程序可以做到这一点。”在 Emacs 中,它是“有一个变量!”解决方案 2 是我必须对自己进行更多教育的东西。
    【解决方案2】:

    (setq inhibit-default-init 1) 是一种方法。它不适合你吗?

    【讨论】:

    • 我想这会起作用,但它不是矫枉过正(当然与抑制启动屏幕相比)
    猜你喜欢
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2018-11-05
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    相关资源
    最近更新 更多