2

在 Debian 上运行 Emacs 24.2.50.1 时遇到问题。在 ruby​​ 模式下,每当我按 Tab 键编辑缩进时,我都会收到错误消息:“Wrong-type-argument: number-or-marker-p, nil”

进一步检查揭示了这个错误:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
ruby-calculate-indent()
ruby-indent-line()
indent-for-tab-command(nil)
call-interactively(indent-for-tab-command nil nil)

请注意,tab 键在 ruby​​ 模式之外可以正常工作(在 python 模式下工作正常等),所以我认为它必须是 ruby​​ 模式中用于缩进的错误,但在诊断和修复此问题方面的任何帮助将是赞赏。

4

2 回答 2

2

我对 Emacs 24.2 也有同样的问题。ruby-indent-level被设置为 0 python-mode

我在 python-model.el 中进行了以下更改:

(defvar ruby-indent-level nil)
(defvar nxml-child-indent nil)

(defvar ruby-indent-level 2)
(defvar nxml-child-indent 2)

然后M-x byte-compile-file

于 2013-03-05T02:14:58.813 回答
1

我遇到了类似的问题,并用Enhanced Ruby Mode替换了 built-in ruby ​​-mode 。如果您使用的是 Ruby 1.9.2 或更高版本,您可以尝试一下。

于 2013-01-29T14:50:01.573 回答