session.elの すごい 罠

anything-sourceを変更しているとき、何度変更しても元に戻ってしまうという、ナゾの現象に遭遇した。
lispファイルをgrepで確認しても、上書きしている箇所は見あたらず。


ウンウン悩んだあげく、session.elが犯人だと突き止めた。

(setq session-globals-regexp "-\\(ring\\|history\\)\\'")

この設定で "ring" 及び "history" が含まれるシンボル全てが、再起動時に元に戻されてしまっている!


変更していたanything-source は "anything-c-source-mark-ring"。ハァ…
他にも、anything-c-source-kill-ring も対象になってしまっていたので、session.elの対象となるシンボルルールを変更した。


session-globals-include に以下を指定

session-globals-regexp を指定するのは危険なので、何もマッチしないようなパターンを突っ込んでおいた。