Emacs Part 46
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。
2014/06/23(月) 02:42:14.91GNU Emacs - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/emacs/
EmacsWiki: サイトマップ
http://www.emacswiki.org/emacs/
前スレ
Emacs Part 45
http://peace.2ch.net/test/read.cgi/unix/1391839128/
0981名無しさん@お腹いっぱい。
2014/12/18(木) 13:40:34.04file-name-history に残らないな。
session.el:
===========
(defun session-set-file-name-history ()
:
(unless (and session-set-file-name-exclude-regexp
(string-match session-set-file-name-exclude-regexp name))
(push name file-name-history))
一旦、file-name-history をクリア(nil に設定)して session-save-session
してみたら?
0982名無しさん@お腹いっぱい。
2014/12/18(木) 14:12:46.80うーん、残りませんか。
emacs -Q で以下を実行したところ、確かに file-name-history には ~/test.txt しか入りませんでした。
(progn
(load "~/.emacs.d/elpa/session-20120510.1700/session.el")
(session-initialize)
(setq file-name-history nil)
(find-file "~/.overview")
(find-file "~/test.txt")
file-name-history)
ですが、M-x find-file で ~/.overview を開いた後に file-name-history を評価すると
やっぱり ~/.overview が追加されてしまいます。
session-save-file してもやっぱりその時の file-name-history が保存されてしまいますね。
-Q で起動してるから差はないような気もするんですけど何が原因なんだろう・・・
0983名無しさん@お腹いっぱい。
2014/12/18(木) 15:06:12.17それは確か仕様だったような。
インタラクティブに実行した場合は残るはず。
関数として呼び出した時も履歴を残そうとする session-find-file がわざわざ用意されてるぐらいだし。
0984名無しさん@お腹いっぱい。
2014/12/18(木) 15:31:01.95ありがとうございます。パッケージとかが勝手に開くファイルを履歴に残さないための設定ってわけなんですね。
元々の発端は magit の COMMIT_EDITMSG が session-set-file-name-exclude-regexp に設定してるにもかかわらず
session に残されてしまうってのだったんですが、
どうやら magit が emacsclient 経由でコミットメッセージ書くようになったのが原因っぽいですね。
magit-emacsclient-executable を nil にして内部呼び出しだけで完結させたら file-name-history に残らなくなりました。
とりあえず emacsclient 使いつつの履歴に残らないような何かうまい解決方法考えてみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。