【发布时间】:2010-05-31 21:28:07
【问题描述】:
我正在尝试编写一个宏,该宏在*Tags List* 缓冲区(由list-tags 命令创建)中显示的文件中的每个标签上调用cscope-find-functions-calling-this-function。 这应该创建一个缓冲区,其中包含调用某个文件中定义的一组函数的所有函数的列表。
我只是将点定位在 标签列表 缓冲区中第一个标签的开头,然后运行以下键盘宏来执行此操作。这是键盘宏中的击键顺序:
1.问题: 我在缓冲区中没有得到任何结果,我发现这是因为步骤 3-7 甚至在之前执行 cscope 打印在步骤 1-2 中进行的查询结果。
我可以使用 C-x q 在宏中插入暂停,但我希望宏在第 2 步之后等待,直到 cscope 返回结果,然后自动继续。我怀疑这是不可能通过宏实现的,也许是 LISP 函数......我自己不是 lisp 专家。有人可以帮忙吗?谢谢!
详情:
- 我安装了Icicles 默认情况下,我在当前缓冲区中的某个点获取单词作为 minibuffer 中的输入。
- F11 绑定到
cscope-find-functions-calling-this-function -
windmove 已安装并 C-x
(C-x ESC o - 如下图所示) 带您到 右侧窗口。 - F7 绑定到
append-results-to-buffer这是 定义为:
此函数只是将当前标记的区域附加到名为“c1”的缓冲区。
【问题讨论】:
标签: emacs macros elisp ctags cscope