gpt4 book ai didi

javascript - 评估 JavaScript 代码中的 Elisp 表达式

转载 作者:行者123 更新时间:2023-11-28 02:04:13 24 4
gpt4 key购买 nike

当将简单表达式插入 javascript 代码(在 javascript 模式下)时,我尝试使用 C-x C-e 来评估简单表达式 (/72 24),但它会抛出错误

Debugger entered--Lisp error: (invalid-read-syntax "] in a list")
read(#<buffer SomeFile.js>)
preceding-sexp()
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)

当我将它插入空缓冲区时它就起作用了。为什么eval-last-sexp不能以这种方式工作?

最佳答案

您需要将点精确定位在右括号之后。然后它应该可以工作。

UPD/弄乱了语法

我再次检查了一下,错误是 js-mode 重新定义了其正则表达式文字的语法表。

修复方法如下:

(defun eval-last-sexp-js (eval-last-sexp-arg-internal)
(interactive "P")
(save-excursion
(while (re-search-backward "(/" (line-beginning-position) t)
(remove-text-properties
(match-beginning 0)
(1+ (match-end 0))
'(syntax-table))))
(eval-last-sexp eval-last-sexp-arg-internal))

eval-last-sexp-js 的工作方式与 eval-last-sexp 相同。如果需要,您可以专门针对 js-mode 重新绑定(bind)它。

关于javascript - 评估 JavaScript 代码中的 Elisp 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18012184/

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