我已經每當改變緩衝手動,test-func
獲取調用使用此代碼的emacs - 後變函數緩衝器改性之後不執行
(defun test-func()
(message "foo"))
(add-hook 'after-change-functions 'test-func nil t)
現在添加了一個函數來after-change-functions
列表。但是,當我編程修改緩衝區使用insert
,緩衝區的內容正在更新,但test-func
沒有被調用。
任何指針如何激活test-func
每次緩衝區更新?
更新:
我想轉換markdown to html和服務上的瀏覽器,這樣,每當用戶鍵入一些降價,HTML會自動更新。
這裏是調用message
後原執行test-func
(defun impatient-markup-update (&rest args)
"Update html buffer if markup buffer updates."
(save-buffer impatient-markup-buffer)
(with-current-buffer (get-buffer impatient-markup-html-buffer)
(erase-buffer)
(insert (shell-command-to-string
(format "%s %s" impatient-markup-pandoc impatient-markup-buffer)))))
你怎麼知道它沒有被調用?如果你在'message'後面使用'sleep-for'或者在'test-func'中調用'insert'來插入'@@@@@@@@@@@@',會發生什麼? – Drew
@德魯,因爲我沒有看到副作用。我不想使用'sleep-for',因爲我立即需要副作用。我實際上在'test-func'中調用'insert',但它不起作用。 – ChillarAnand
也許,https://github.com/skeeto/impatient-mode有幫助嗎? – Tobias