使用参数调用其他窗口的Emacs定义函数不';行不通

使用参数调用其他窗口的Emacs定义函数不';行不通,emacs,Emacs,在Emacs中,我想定义一个lisp函数来调用参数为-1的其他窗口,以便切换到同一帧中的上一个窗口。根据我的最佳研究,在我的emacs文件中应该可以按如下方式执行此操作: (defun previous-window () (interactive) (other-window -1)) 但是,当我运行该函数时: M-x previous-window 我明白了: Wrong number of arguments: (lambda nil (interactive) (other-

在Emacs中,我想定义一个lisp函数来调用参数为-1的其他窗口,以便切换到同一帧中的上一个窗口。根据我的最佳研究,在我的emacs文件中应该可以按如下方式执行此操作:

(defun previous-window ()
  (interactive)
  (other-window -1))
但是,当我运行该函数时:

M-x previous-window
我明白了:

Wrong number of arguments: (lambda nil (interactive) (other-window -1)), 3
还有,奇怪的是,现在当我这么做的时候:

C-u - C-x o
我得到:

Wrong number of arguments: (lambda nil (interactive) (other-window -1)), 3
如果我从emacs文件中删除上述函数定义,并执行以下操作:

C-u - C-x o
行为如预期

emacs中似乎没有以前的窗口定义


我在这里挠头。

你可以使用
C-u-cxo
(其中
cxo
other window
的正常键绑定,但是你较长的
M-x other window
方法也可以工作),因为
-
本身表示一个数字前缀参数-1。

你可以使用
C-u-cxo
(其中,
cxo
其他窗口
的正常键绑定,但较长的
M-x其他窗口
方法也可以使用),因为
-
本身表示数字前缀参数为-1。

这会导致相同的错误,但..结果是.emacs文件中的某些内容导致所有这些内容引发错误。编辑问题..这会导致相同的错误,但..结果是.emacs文件中的某些内容导致所有这些内容引发错误。编辑question..我将自定义函数名的名称更改为previous wind,现在一切正常。似乎定义previous window与emacs中已定义但用户不可见的某些函数冲突。可能吗?仍想知道解释。函数
previous window
是def在emacs源代码中定义。好的,这是解释,谢谢。对于这个问题的发现者来说:在emacs中定义的一些函数在minibuffer(M-x)中没有tab完成,或者在文档中没有显示(C-h a),您无法重新定义。我将自定义函数名的名称更改为previous wind,现在一切正常。定义以前的窗口似乎与emacs中已定义但用户不可见的某些函数冲突。是否可能?仍希望了解解释。函数
previous window
是在emacs源代码中定义的。这里有解释,谢谢。对于这个问题的发现者来说:emacs中定义的一些函数在迷你缓冲区(M-x)中不完整,或者在文档(C-HA)中不显示,您无法重新定义。