Python のメジャー モードを変更して、少し異なる動作をさせようとしています。具体的にはpython-indent-regionを変更したいと思います。どのような変更を加える必要があるかを理解したと思います (行番号 1070 を に変更する必要があります(beginning-of-line)
)。関数を init.el ファイルにコピーしてその行を変更することで、そのように変更しようとしました。ただし、その関数を使用しようとすると、次のエラーが発生します。
Lisp error: (void-function python-rx)
私はいくつかの調査を行いましたが、問題はpython-rx
実際にdefmacro
は python.el で a を使用して定義されているようです。python.el は emacs で配布されているため、既にコンパイルされており、/usr/share/emacs/24.5/lisp/progmodes/python.elc
. ここでマクロのコンパイルについて読んでいましたが、私が理解しているように、マクロはコンパイルされているため、参照しようとすると利用できなくなります。
これは、次の 2 つの質問に要約されます。
- 上記の理解で正しいですか?
- マクロに依存しているにもかかわらず、この関数をほぼ同じになるように再定義するという目標を達成するにはどうすればよい
python-rx
ですか?
助けてくれてありがとう!