int main(int argc, char *argv) {}
把 cursor 放在 int 上, 调用 imenu 时会出来两项补全的选项:
Index item:
-> int
main
而不是只有一项 main
看了下 imenu–completion-buffer 这个函数, 它把 thing-at-point (也就是这里的 int) 当作了 completing-read 的 default, 但我觉得这不怎么合理…我想看 imenu, 和当前 cursor 处的 thing-at-point 有什么关系?
我觉得这样改比较 合适:
把
(when (stringp name)
(setq name (or (imenu-find-default name prepared-index-alist) name)))
改成
(when (stringp name)
(setq name (or (imenu-find-default name prepared-index-alist) nil)))