Emacs がちらつく原因の一つとして,重すぎるタイマーイベントが挙げられる.そのため,設定されているタイマーを調べることで Emacs のちらつきがどの Elisp によるものかを特定できる.
設定されているタイマーを調べるには,timer-list 変数を見ればいい. M-: timer-list RET
と入力すると,以下のようなリストが見られる.
([nil 20904 15708 554749 0.05 popwin:close-popup-window-timer nil nil 206166]
[nil 20904 15708 569395 0.05 popwin:close-popup-window-timer nil nil 268134]
[nil 20904 15708 570716 0.05 popwin:close-popup-window-timer nil nil 569467]
[nil 20904 15714 663646 60 ac-clear-variables-every-minute nil nil 293000]
[nil 20904 15950 929196 300 savehist-autosave nil nil 142000]
[nil 20904 19283 6108 3600 url-cookie-write-file nil nil 258000])
この例であれば,popwin:close-popup-window-timer
関数が原因であるということがわかるので,.emacs からこの関数を持つ Elisp のロード命令を除去したり,Elisp を修正することでちらつきを解決しよう.