Emacs after-make-frame-functions 参数无效
Emacs after-make-frame-functions argument is void
我的 .emacs
文件中有以下代码。它应该将输入焦点移动到任何新创建的框架。
(defun foo-focus-new-frame (frame)
(select-frame-set-input-focus (frame)))
(add-hook 'after-make-frame-functions 'foo-focus-new-frame t)
当我直接从命令行 运行 emacs 时,这工作正常。但是,如果 emacs 没有启动,我尝试 运行 以下内容:
emacsclient -c -a '' test.txt
我收到以下错误:
*ERROR*: Symbol's function definition is void: frame
这是为什么?根据documentation,after-make-frame-functions
钩子应该只在新创建一个框架后 运行,所以为什么我的函数找不到它?
frame
函数不存在,也许您打算访问参数而不是调用函数,即 foo-focus-new-frame
:
中有多余的括号
(defun foo-focus-new-frame (frame)
(select-frame-set-input-focus frame))
我的 .emacs
文件中有以下代码。它应该将输入焦点移动到任何新创建的框架。
(defun foo-focus-new-frame (frame)
(select-frame-set-input-focus (frame)))
(add-hook 'after-make-frame-functions 'foo-focus-new-frame t)
当我直接从命令行 运行 emacs 时,这工作正常。但是,如果 emacs 没有启动,我尝试 运行 以下内容:
emacsclient -c -a '' test.txt
我收到以下错误:
*ERROR*: Symbol's function definition is void: frame
这是为什么?根据documentation,after-make-frame-functions
钩子应该只在新创建一个框架后 运行,所以为什么我的函数找不到它?
frame
函数不存在,也许您打算访问参数而不是调用函数,即 foo-focus-new-frame
:
(defun foo-focus-new-frame (frame)
(select-frame-set-input-focus frame))