0

我想编写在运行时切换其他几种模式的次要模式。某种伞模式。

现在,我正在处理最简单的任务 - 创建启用单一其他模式的模式。

我写过

(require 'whitespace)
(define-minor-mode
  myspace-mode
  "some doc"
  nil
  nil
  (if myspace-mode
    (whitespace-mode 1)
    (whitespace-mode -1)
 )
)

当我从 Mx 切换此模式时,没有任何反应。但是当我直接评估(空白模式±1)时,它按预期工作。

我想念什么?

4

1 回答 1

3

您的定义中缺少一个参数。因此,您的(if ...)表单实际上被解释为keymap参数。

尝试这个:

(define-minor-mode
  myspace-mode
  "some doc"
  nil
  nil
  nil
  (if myspace-mode
      (whitespace-mode 1)
      (whitespace-mode -1)))
于 2013-10-07T05:26:53.063 回答