我試圖寫最簡單的功能:將查詢發送到w3m的瀏覽器,然後找到網頁上的特定位置:如何等待Emacs Lisp函數中的事件?
(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
有幫助,但由於加載時間是任意的,所以不是很方便。
我該如何重寫這個函數,所以它會等到緩衝區重新載入,然後才做剩下的工作?
謝謝羅斯。 'w3m-display-hook'在正確的時間完成這項工作。 –