你这个问题我以前也提到过。
我现在配置文件基本是这样的:
;; misc.el
(definitfun foo
:pre
(progn ...)
:post
(progn ...))
解析的时侯原地展开为:
;; misc.el
(defun misc--pre-init-foo ()
(progn ...))
(defun misc--post-init-foo ()
(progn ...))
这两个函数仍然在 misc.el 文件中,所以 describe-function 可以跳到 misc.el 文件头。如果我再实现一个跨行匹配 (definitfun pkg\n :pre 的方法,就能准确跳到 :pre 的位置。
然而实际上我并没有实现那个跳转方法(暂时没这个需求),而是给 imenu regex 加了一条规则用来定位整个 (definitfun pkg ...)。
