【问题标题】:Error loading init file: Wrong type argument: stringp, nil加载初始化文件时出错:错误类型参数:stringp,nil
【发布时间】:2017-11-30 17:13:08
【问题描述】:

在 OSX (10.12.6) 上的 emacs 中编辑 Java 文件时,它经常尝试格式化行(比如当我键入右括号时),并在此过程中将空格转换为制表符。谷歌搜索显示要关闭它,我应该在我的 .emacs 中添加以下内容:

(setq-default indent-tabs-mode nil)

但是,当我将上述行添加到我的 .emacs 并重新加载 emacs 时,emacs 会报告以下错误:

Warning (initialization): An error occurred while loading 
‘/Users/betirado/.emacs’:

Wrong type argument: stringp, nil

OSX 上 emacs 的正确解决方案是什么,或者我缺少什么? 谢谢

【问题讨论】:

  • 错误很可能在文件中的其他地方并且在编辑时发生......至少这是我经常发生的事情。
  • @benrudgers 说了什么。将您的初始化文件一分为二以找到罪魁祸首。为了说服自己,首先注释掉除您添加的那一行之外的所有内容。如此处所示,该行是正确的代码。所以这并不是一个关于如何告诉 Emacs 不要在 OSX 上使用标签的问题。这是一个初始化文件调试问题。
  • 此外,如果您想禁止在 Java 模式下使用标签 only,那么该代码不是可行的方法。但这将是一个单独的问题。

标签: macos debugging emacs


【解决方案1】:

添加

(customize-set-variable 'indent-tabs-mode nil)

对你的配置有什么影响?

【讨论】:

  • indent-tabs-mode 是一个布尔缓冲区局部变量,这意味着将其值设置为nil 是完全可以接受的,无论是本地/全局还是使用任何设置函数。 OP 的错误很可能是由于他们的 init 文件或他们正在加载的其他包中的错误而引起的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
相关资源
最近更新 更多