在Emacs中定义全球化次要模式的参数是什么

在Emacs中定义全球化次要模式的参数是什么,emacs,elisp,Emacs,Elisp,我希望在Emacs启动时启用非全局次要模式。我发现它可以通过以下代码完成: (define-globalized-minor-mode my-global-mode the-mode (lambda () (the-mode t)) ) (my-global-mode t) 但我不明白。定义全球化次要模式的最后两个参数是什么模式和λ。更确切地说,为什么我需要两者,不是重言式吗?全球化次要模式是从现有(非全局)次要模式创建的全局次要模式。没别的了 定义全球化次要模式的第一个参数是

我希望在Emacs启动时启用非全局次要模式。我发现它可以通过以下代码完成:

(define-globalized-minor-mode my-global-mode
  the-mode
  (lambda ()
    (the-mode t))
)
(my-global-mode t)

但我不明白。
定义全球化次要模式的最后两个参数是什么<代码>模式
λ
。更确切地说,为什么我需要两者,不是重言式吗?

全球化次要模式是从现有(非全局)次要模式创建的全局次要模式。没别的了

定义全球化次要模式的第一个参数是要创建的全局次要模式的名称(符号)。第二个参数是要用于创建全局模式的现有(非全局)次要模式函数(符号)

第三个参数是打开次要模式的函数。次要模式功能通常是切换命令。在没有参数的情况下调用它不会打开模式

一些次要模式有一个定义(命名)的单独命令来打开它们。例如,
打开可视线路模式
是一个独立于
可视线路模式
的命令。它相当于
(lambda()可视线路模式1))
。因此,您可以将符号
打开可视线模式
或等效的lambda形式作为第三个参数传递


这就是它的全部内容。

如果有命令
视觉行模式1
无法工作的模式,那么它确实有意义。我以为这对任何人都管用。不,这不是重点。参数
开启
不是可选的,因为需要一个不需要参数并开启模式的函数。模式函数本身需要一个参数来打开模式。例如,想象一下在普通钩子上调用的
开启
函数,这不是架构中的一个缺陷吗?有没有可能把这个包起来?这样我就可以调用
(全球化模式)
,而不是这个庞大而重复的代码。如果您这样认为,请尝试将您的建议传递给它的设计者和开发者:
M-x report emacs bug