gpt4 book ai didi

emacs - 如何在 Emacs Lisp 函数中等待事件?

转载 作者:行者123 更新时间:2023-12-04 11:43:21 25 4
gpt4 key购买 nike

我正在尝试编写最简单的功能:向 w3m 浏览器发送查询,然后在网页上找到特定位置:

(defun w3m-define-word (word)
(interactive "sDefine: ")
(progn (w3m-search "Dictionary" word)
(set-window-start nil (search-forward "Search Results"))))

这里的问题是 w3m-search不会等到页面重新加载和 set-window-start在旧页面上执行。然后页面重新加载并将光标放在缓冲区的开头。
(sleep-for ..) w3m-search之间和 set-window-start有帮助,但由于加载时间是任意的,所以不是很方便。

我怎样才能重写这个函数,所以它会等到缓冲区重新加载,然后才做剩下的事情?

最佳答案

在 elisp 中完成此操作的方法是使用 hooks .所以你需要看看 w3m 在页面加载时是否调用了一个钩子(Hook)。如果是这样,那么您可以为该钩子(Hook)注册一个钩子(Hook)函数来满足您的需求。

看起来像 C-h v w3m-display-hook RET就是你要找的。这是 good example从开始。

关于emacs - 如何在 Emacs Lisp 函数中等待事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7458162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com