如何追踪emacs菜单?

时间:2013-04-09 01:07:00

标签: emacs

当我从菜单中选择一个动作时,有没有办法看到emacs正在做什么? 例如,我想查看单击

时执行的lisp命令
Tools --> Spell Checking --> Automatic spell checking

这对于学习包含在init文件中的内容以默认启用自动拼写检查非常有用。感谢。

1 个答案:

答案 0 :(得分:1)

菜单实现为键盘映射,describe-key通常处理鼠标事件,因此您只需使用:

C-h k (选择菜单项)

在这个例子中,我们看到:

<menu-bar> <tools> <spell> <flyspell-mode> runs the command
flyspell-mode, which is an interactive autoloaded Lisp function in
`flyspell.el'.

It is bound to <menu-bar> <tools> <spell> <flyspell-mode>.

(flyspell-mode &optional ARG)

Toggle on-the-fly spell checking (Flyspell mode).
[...]

实际上跟踪lisp调用实际上是一个不同的问题(trace-function,内置的elp分析库,debug-on-entry和两个调试器一般都是非常有用的工具),但是在这种情况下,单击一个菜单项只是交互地调用它的功能,所以没有什么可追踪的:)