saveplace.el と session.el の関係
開いていたファイルのカーソルの位置を覚えてくれている便利な saveplace.el ですが最近どうも動いていないなと思っていました。
で、良く調べていたところ session.el の設定で
(when (require 'session nil t) (setq session-initialize '(de-saveplace session keys menus) session-globals-include '((kill-ring 50) (session-file-alist 500 t) (file-name-history 10000))) ;; これがないと file-name-history に500個保存する前に max-string に達する (setq session-globals-max-string 100000000) ;; デフォルトでは30! (setq history-length t) (add-hook 'after-init-hook 'session-initialize))
としており、 de-saveplace を指定しています。
session.el を良く読むと
* `de-saveplace' to de-install package saveplace (is redundant),
と書いてありde-saveplaceは、saveplace が冗長なのでオフにするオプションのようです。
更に読み進めると、
* `places' to store and use places for files/buffers,
というオプションがありました。
これを指定するとよさそうです。
結論
session.el を使っていれば saveplace.el は不要のようです。
僕は以下のように session.el を設定しています。
(when (require 'session nil t) (setq session-initialize '(de-saveplace session keys menus places) session-globals-include '((kill-ring 50) (session-file-alist 500 t) (file-name-history 10000))) ;; これがないと file-name-history に500個保存する前に max-string に達する (setq session-globals-max-string 100000000) ;; デフォルトでは30! (setq history-length t) (add-hook 'after-init-hook 'session-initialize))