gpt4 book ai didi

Emacs 提示函数无效?

转载 作者:行者123 更新时间:2023-12-04 22:13:50 25 4
gpt4 key购买 nike

当我按下 C-c c使用缓冲区上的以下代码,Emacs 提示 Invalid function: (select-current-line) .为什么?

(defun select-current-line ()
"Select the current line"
(interactive)
(end-of-line) ; move to end of line
(set-mark (line-beginning-position)))

(defun my-isend ()
(interactive)

(if (and transient-mark-mode mark-active)
(isend-send)

((select-current-line)
(isend-send)))
)

(global-set-key (kbd "C-c c") 'my-isend)

这并不重要,但对于那些感兴趣的人 isend-send在这里定义。

最佳答案

您缺少一个 progn将语句组合在一起的表单:

(defun my-isend ()
(interactive)

(if (and transient-mark-mode mark-active)
(isend-send)

(progn
(select-current-line)
(isend-send))))

没有 progn表格, ((select-current-line) (isend-send))被解释为 (select-current-line)应用于调用结果的函数 isend-send没有论据。但是 (select-current-line)不是有效的函数名称。在其他 LISP 中,如果 select-current-line 的返回值,这样的构造可能是有效的。本身是一个函数,然后将应用于 (isend-send) .但这不是 Emacs LISP 的情况,无论如何这不会做你想要实现的......

关于Emacs 提示函数无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15880783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com