2013-10-29 79 views
0

當我運行M-x basic-save-buffer時,python看門狗的watchmedo顯示了兩個FileModifiedEvent s用於正在訪問的文件。我只是期待一個事件。我怎樣才能找出是什麼導致修改?如何調試我的保存事件?

write-contents-functionsnil

write-file-functions(undo-tree-save-history-hook recentf-track-opened-file)

before-save-hooknil

after-save-hook(executable-make-buffer-file-executable-if-script-p)

正在訪問的文件不是腳本/不可執行文件。

回答

0

您可以通過strace運行emacs進程來查看它所產生的系統調用。

strace會生成大量輸出,因此您需要使用strace -o trace=file來減少冗餘,並且您可能希望將其重定向到文件。您還需要標記輸出中與「在調用basic-save-buffer之前/之後」相對應的位置,因爲在此之前會有大量廢話。

+0

不是我正在尋找的東西,但是這表明我實際上只根據需要向文件寫入一次。問題是'watchmedo'在說謊 - 他們實際上並不是修改事件。 'pyinotify'能夠確認。 – ToBeReplaced