我正在尝试修改 python 主要模式以使其工作方式略有不同。具体来说,我想更改python-indent-region。我相信我已经弄清楚我需要做出什么改变(它涉及将 #1070 行更改为(beginning-of-line)
)。我试图通过将函数复制到我的 init.el 文件并更改该行来更改它。但是,当我尝试使用该功能时,我收到以下错误:
Lisp error: (void-function python-rx)
我做了一些研究,看起来问题实际上是在 python.el 中python-rx
使用 a 定义的。defmacro
由于 python.el 与 emacs 一起分发,因此它已经编译并且似乎驻留在/usr/share/emacs/24.5/lisp/progmodes/python.elc
. 我在这里阅读有关宏编译的信息,据我了解,宏已被编译,因此当我尝试引用它时它不再可用。
这归结为两个问题:
- 我的上述理解是否正确?
- 尽管事实上它依赖于宏,但我如何才能实现将这个函数重新定义为大致相同的目标
python-rx
?
提前感谢您的帮助!