トップページunix
984コメント297KB

Emacs Part 46

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2014/06/23(月) 02:42:14.91
語り合いましょう。

GNU 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/
0902名無しさん@お腹いっぱい。2014/12/01(月) 10:53:21.08
このスレの大半はelisp書けない人だからじゃね
0903名無しさん@お腹いっぱい。2014/12/01(月) 11:36:28.00
>>901
2chに何期待してんの?
0904名無しさん@お腹いっぱい。2014/12/01(月) 12:06:34.96
そもそも skk は辞書落としてこないと使えない
0905名無しさん@お腹いっぱい。2014/12/01(月) 12:13:25.09
SKK なんか窓から投げ捨てて mozc 使えよ
0906名無しさん@お腹いっぱい。2014/12/01(月) 12:34:19.37
普通は辞書サーバなり使うだろうから、辞書まで管理されたら迷惑だと思う
0907名無しさん@お腹いっぱい。2014/12/01(月) 16:59:04.45
いちいちサーバなんかたててつかってんの?
0908名無しさん@お腹いっぱい。2014/12/01(月) 17:12:58.23
20種類近くの実装があるんだから、辞書サーバ使ってる人は多いでしょw

インストールも楽だし設定もほぼ不要だしね
0909名無しさん@お腹いっぱい。2014/12/01(月) 17:18:46.94
>>900
Emacs Advent Calendar 2014 - Qiita
http://qiita.com/advent-calendar/2014/emacs

本日12月1日より,プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる:インフォメーション|gihyo.jp … 技術評論社
http://gihyo.jp/news/info/2014/12/0101
0910名無しさん@お腹いっぱい。2014/12/02(火) 00:07:10.40
qiita 重くて繋がらん
0911名無しさん@お腹いっぱい。2014/12/02(火) 00:35:31.73
最後はるびきちか
org-modeネタだろうか
0912名無しさん@お腹いっぱい。2014/12/02(火) 00:46:23.91
今年は自作ネタが結構あって嬉しい
0913名無しさん@お腹いっぱい。2014/12/02(火) 22:08:34.84
Emacs内で親指シフト使いたいんだけど昔あったらしい omelet.el とやらはもうサイトが死んでるし,なんか方法無いの?
0914名無しさん@お腹いっぱい。2014/12/02(火) 22:38:05.62
>>913
skk なら配布物に含まれてる nicola 以下のを使えば親指シフトになるんじゃなのかね
あと web.archive.org 経由なら omelet もダウンロード出来たけど
これ Wnn 用っぽいし今の Emacs で使うのはしんどそう
0915名無しさん@お腹いっぱい。2014/12/03(水) 00:03:38.34
>>914
おおお SKK ってローマ字入力に限定した変換方式としか認識してなかったからノーチェックだったthx!
0916名無しさん@お腹いっぱい。2014/12/04(木) 10:52:16.75
>>913
腕をクロスしろ!
かっこいいぞ!
0917名無しさん@お腹いっぱい。2014/12/04(木) 17:59:30.72
すみませんが、質問です。

とりぷる ぷぅ 技術メモ: [Emacs]タブや全角スペースを別色で表示する
http://triplepulu.blogspot.jp/2013/03/emacs_2752.html

Emacsの起動後に、このリンク先の設定の有効/無効を切り替えたいと思うので
すが、どうしたら良いでしょうか?

見よう見まねで以下のコードを実行しても、設定は無効になりませんでした。
(ad-disable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-deactivate 'font-lock-mode)
0918名無しさん@お腹いっぱい。2014/12/04(木) 18:25:03.30
試したわけじゃないが確かそこは deactivate ではなくそこは activate なのだ
個人的にはそこら辺のは whitespace-mode をカスタマイズでもしたほうがいい気もする
0919名無しさん@お腹いっぱい。2014/12/04(木) 18:40:27.80
>>918
ありがとうございます。スクラッチバッファで以下のコードを実行しましたが、
設定は無効になりませんでした。

(ad-disable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)

何がまずいんだろう…。
0920名無しさん@お腹いっぱい。2014/12/04(木) 18:52:33.24
ああ、っていうか font-lock-add-keywords してキーワード追加しちゃってるじゃん
バッファ単位じゃなく特定のメジャーモードに対してのキーワード追加だから
一度でもこのアドバイスが走ったらそのメジャーモードでは色ついたままになる。

解除したいなら font-lock-remove-keywords でいちいち消さないとダメ
0921名無しさん@お腹いっぱい。2014/12/04(木) 18:57:19.24
話がまったく通じてない
0922名無しさん@お腹いっぱい。2014/12/04(木) 19:04:41.53
>>920
ありがとうございます。
以下のコードを実行したら、設定が無効になりました。

(defadvice font-lock-mode (before my-font-lock-mode ())
(font-lock-remove-keywords ;; ← この行だけ違う
major-mode
'(("\t" 0 my-face-b-2 append)
(" " 0 my-face-b-1 append)
("[ \t]+$" 0 my-face-u-1 append)
)))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)

無理矢理ですが、最低限の用は足りました。
できたらもっと綺麗にしたいところではありますが…。
0923名無しさん@お腹いっぱい。2014/12/04(木) 19:08:36.52
on/off を切り替えたいならその場でfont-lock-add-keywords/remove-keywords する関数でも作ったほうがいいんじゃない?
あんまり font-lock-mode への advice にする意味がない気がする
0924名無しさん@お腹いっぱい。2014/12/04(木) 19:09:53.77
もっと綺麗とか言う前にやってることの理解から
0925名無しさん@お腹いっぱい。2014/12/04(木) 19:16:14.52
元ネタのブログからして割と強引すぎる気がする。
0926名無しさん@お腹いっぱい。2014/12/04(木) 21:16:38.98
元ネタのブログからして割と強引すぎる気がする。
0927名無しさん@お腹いっぱい。2014/12/04(木) 21:37:07.89
Linux環境でssh -Xで別ホストにloginして
$ emacs --daemon
$ emacsclient -n -c
でwindow起動した後、emacsclientを終了してlogoutしようとするとシェルプロンプトに戻らず、仕方なくC-cするとdaemon起動したemacsが終了してしまう現象で困ってるんですが、解決方法ご存じの方いませんか?

試した限り、少なくともubuntu 14.04のemacs24.3 (標準パッケージ)、CentOS 6.6のemacs23.3 (自分でビルド) では発生するが、CentOS 6.6のemacs23.1 (標準パッケージ) では起きない。# なので、未だにemacs23.1を使い続けてる...

この現象ってみんな起きるはずなのにググっても解決方法が見当たらないのは、sshログインしてemacs使う人はterminal起動が普通だからだろうか?
0928名無しさん@お腹いっぱい。2014/12/04(木) 21:53:49.74
tramp 使うからじゃない?
リモート先の環境にもよるけどあんまり外でしっかりとした init.el 作ってないし
0929名無しさん@お腹いっぱい。2014/12/04(木) 22:01:28.69
$ emacsclient -n -c
なら、emacsclientを終了するまでもなくプロンプトが返るんじゃないの?

debian-testing & emacs-24.4で再現できず
0930名無しさん@お腹いっぱい。2014/12/04(木) 22:02:32.88
>>926

nohup emacs --daemon </dev/null >/dev/null 2>&1 &

ってしてみたら
0931名無しさん@お腹いっぱい。2014/12/04(木) 22:07:39.21
daemon 化の仕様変わってたのかねえ
0932名無しさん@お腹いっぱい。2014/12/04(木) 22:09:11.89
$ emacs -q --daemon
で起動して何もファイル開かなくても起きるので、設定ファイルのせいではないしtrampとかも関係ない。

C-cしないとプロンプトに戻らないのはgnome-terminalとか適当なアプリ起動した後でも同じなので、EmacsだけではなくXクライアントアプリに共通の問題みたいなんだけど...
0933名無しさん@お腹いっぱい。2014/12/04(木) 22:12:12.62
ところで、emacs --daemonのデーモンはどう終了させるものなのでしょうか?
kill pidみたいのじゃなく、手段は用意されていますか?
0934名無しさん@お腹いっぱい。2014/12/04(木) 22:18:27.68
「kill emacs daemon」でググれ
0935名無しさん@お腹いっぱい。2014/12/04(木) 22:18:31.15
>>933

M-x kill-emacsすれば終了する。
0936名無しさん@お腹いっぱい。2014/12/04(木) 22:20:32.15
>>930
これもググったらどっかで見つけたんで既に試してる。でダメ。
0937名無しさん@お腹いっぱい。2014/12/04(木) 22:23:59.35
>>929
そうじゃなくて、sshを抜けてログイン元ホストのプロンプトに戻るときの話。
0938名無しさん@お腹いっぱい。2014/12/04(木) 22:27:24.88
defface するときに -rv で起動されてるかとか color モードかどうか条件付きで色を指定できますが、
set-face-attribute とかであとから属性変更する場合はどのように指定したらいいんでしょう?

(set-face-attribute 'default nil '(((class color) (background dark)) "gray97"))

等では無理でした
0939名無しさん@お腹いっぱい。2014/12/04(木) 22:27:45.29
>>935
ありがとうございます
emacsclient上でできました!
0940名無しさん@お腹いっぱい。2014/12/05(金) 00:27:25.91
質問です。

Emacs24で、emacs -nw でテーマを設定すると、ある種の記号を入力した時、
その記号の下に空行が表示されてしまうようです。

例)
(load-theme 'adwaita t) ;;たぶんどのテーマでもいい

記号はハート(白)U+2661 (&#x2661;) などSJISにないもの。
ハート (シンボル) - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%88_%28%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%29#.E7.AC.A6.E5.8F.B7.E4.BD.8D.E7.BD.AE

テーマを設定しない、以外の解決策はないでしょうか?

GNU Emacs 24.4.1 (x86_64-unknown-cygwin) of 2014-11-15 on desktop-new
GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.10.9) of 2014-09-30 on buildvm-10.phx2.fedoraproject.org
端末は minttyですが、たぶんPuTTYも同様と思います。
再現しなかったら申し訳ありません。
0941名無しさん@お腹いっぱい。2014/12/05(金) 00:42:30.87
変な件名のスパムメールが来るとwlのサマリの表示が崩れるのも同じ理由なのかな
"?" に置換して誤魔化してるけど
0942名無しさん@お腹いっぱい。2014/12/05(金) 06:31:44.91
>>940
(load-theme 'adwaita t)
(白ハート)
aaaa

とできなくて、
(load-theme 'adwaita t)
(白ハート)

aaaa

となってしまうということですかね?

win7上のRLoginとputty-jpでdebian-testing上のemacs24.4で試したけど
白ハートが半角表示されるだけで、表示は上側のようになりますね
cygwinは削除したので確認できず
勘違いしてたらすみません
0943名無しさん@お腹いっぱい。2014/12/05(金) 08:15:34.32
実際のフォントの文字幅と端末が解釈する文字幅と
emacs が判断する文字幅の差でしょう。
emacs は決め打ちしてる上に曖昧文字の幅が全部2になってるわけでもないし。
09449402014/12/05(金) 10:45:29.43
>>942
現象はおっしゃるとおりです。わかりにくくてすみません。

PuTTY 0.63 でFeodora 20に接続したところ、自分も再現できませんでした。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

さらに調べたところ、GNU screen を起動した環境で emacs を起動すると
不具合が再現しました。

Fedora : Screen version 4.01.00devel (GNU) 2-May-06
Cygwin : Screen version 4.02.01 (GNU) 28-Apr-14

Screen + Emacs + テーマ、という何とも複雑な条件でした。
0945名無しさん@お腹いっぱい。2014/12/05(金) 11:04:33.89
theme って中で色設定したりフォント変えたりしてるだけだよね?
細分化すれば face の設定の何が悪いかまで判別できるんでない?
09469422014/12/05(金) 11:12:05.55
>>944
screen入れて試したけど、putty-jp, RLoginどちらでも再現できないですねー
Screen version 4.02.01 (GNU) 28-Apr-14

うちではtmuxを使った時に、画面の分割線用のフォントが綺麗に表示されない問題が
cygwinでもputty-jpでもTeraTermでも発生していたからいろいろ試して、問題の発生しない
RLoginを見つけました。
名前以外は素晴らしいソフト
http://nanno.dip.jp/softlib/man/rlogin/

原因はemacsではなく、仮想端末やputtyとかの側だろうから、よかったらRLoginを試してみてください
09479402014/12/05(金) 12:16:59.96
Cygwin の Screen を tmux に乗り換えたところ、ほぼ解決しました。
tmux 1.9a
皆さん、いろいろありがとうございました。

>>946
再現の条件があやふやで申し訳ありませんでした。
RLoginのご紹介、ありがとうございました。
機会があれば試してみます。
0948名無しさん@お腹いっぱい。2014/12/05(金) 12:18:53.24
Emacs24.4経由でjavaを実行をしたいです
quickrun.elを使い
gcj(GNU Compiler for Java)でソースをコンパイルしてjavaでバイトコードを実行しようとしています
http://www.kaichan.info/blog/2014-03-22-emacs-java-quickrun.html
これを参考にしながらこう書きました

(defadvice quickrun/use-tempfile-p (after gcj activate)
"gcjでも一時ファイルを作らないようアドバイス"
(when (string= (ad-get-arg 0) "gcj")
(setq ad-return-value nil)))

;; プレースホルダーの情報
;; https://github.com/syohex/emacs-quickrun#placeholders
(quickrun-add-command "gcj"
'((:command . "gcj")
(:exec . ("gcj -C %s" "java %N %a"))
(:description . "Compile Java file and execute")))

quickrunでgcjを選択するとjavaコマンドの引数に一時ファイルが設定されてしまいます
(:exec . ("gcj -C %s" "java %N %a")

(:exec . ("gcj -C %s" "echo %N %a")
と書き換えると、javaに一時ファイルの名前が渡されていることを確認できました
アドバイスの部分の設定がおかしいのでこういう結果になってしまうと思うのですが、どのように修正すればよいでしょうか
0949名無しさん@お腹いっぱい。2014/12/06(土) 12:16:14.38
>>927
これ、誰か解決方法分かる人いないでしょうか?

この使い方にこだわるのは、常時稼働のサーバ上でdaemon起動しておけば、自分の端末の電源を落として帰っても次の日 (バッファの状態もそのままで) すぐに作業が継続できるし、急に会議に呼ばれてもノートPCからサーバに接続して内職できるからなんだけど。

ごく一般的な使い方だと思うんだけど、今はクライアント端末側でemacs起動してtramp経由でサーバのファイルを編集するような使い方の人が多いのかな?
0950名無しさん@お腹いっぱい。2014/12/06(土) 12:30:33.38
screen か tmux の attach/detach 使えばいいんじゃない
でも >>930 の nohup で十分だと思うけど、上手く行かないってのは
何かやり方間違えてない?
0951名無しさん@お腹いっぱい。2014/12/06(土) 12:49:34.21
>>950
いや、terminal起動ならscreenとか使わなくても問題ないんだけど、できればXで使いたいので...

$ nohup emacs --daemon </dev/null >/dev/null 2>&1 &

で起動すると、確かにC-cでssh接続を終了してもdaemon起動したemacsは終了しなくなるんだけど、次に接続しようとすると、

$ emacsclient -n -c
emacsclient: connect: Connection refused
emacsclient: No socket or alternate editor. Please use:

--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)

となる。--socket-nameで/tmpにあるsocketを指定すればいいのかなと思ったんだけど、

$ emacsclient -n -c --socket-name="/tmp/emacs1000/server"
emacsclient: connect: Connection refused
emacsclient: error accessing socket "/tmp/emacs1000/server"

でダメだった。
0952名無しさん@お腹いっぱい。2014/12/06(土) 14:51:17.66
再現できないからなー
0953名無しさん@お腹いっぱい。2014/12/06(土) 15:08:58.87
>>952
何で再現しないんだろう?こっちでは、VMwareにインストールしただけで何も余計な設定していない2つのubuntu 14.04の間でsshして試しても起きるんだけど。
0954名無しさん@お腹いっぱい。2014/12/06(土) 16:05:58.02
>>948
gcj環境作るの億劫だったので試してないけど、advice使うまでもなく、
(quickrun-add-command "java"
'((:command . "java")
(:compile-only . "gcj hogehoge %s")
(:exec . ("gcj fugafuga %s" "%c %N %a"))
(:remove . ("%n.class"))
(:description . "Compile Java file and execute"))
:mode 'java-mode)
のようにjava用の設定を上書きすればいいんじゃないかなhogehogeとかhugahugaとかはgcjのコマンド
に合わせて変更してください。
0955名無しさん@お腹いっぱい。2014/12/06(土) 16:15:40.18
こないだの whitespace のもそうだけど安直に advice 使うとハマるよね
0956名無しさん@お腹いっぱい。2014/12/06(土) 16:44:13.52
引用元で
(defsubst quickrun/use-tempfile-p (cmd-key)

(defadvice quickrun/use-tempfile-p (after java8 activate)
でadviceしてるけど、defsubstってインライン関数定義なのにadvice使えるものなのかな?
このあたりまったく知らなかったからいろいろ試してみよう
0957名無しさん@お腹いっぱい。2014/12/06(土) 19:19:58.22
>>954
!その手がありましたか。設定の上書きを試すことを忘れていました
もちろん無事動作しました。感謝です!
0958名無しさん@お腹いっぱい。2014/12/06(土) 20:49:14.11
>>956
既にバイトコンパイル済みのに対しては無効なんじゃね
0959名無しさん@お腹いっぱい。2014/12/07(日) 06:16:07.81
インライン展開については、他の言語同様、一部だけしか展開されなくて、
今回のやつは、defsubst使ってるけど実際にはインライン展開されなくてadviceが使える
というオチ
筋の悪いコード
0960名無しさん@お腹いっぱい。2014/12/08(月) 21:02:10.27
あるファイルに、そのファイルからの別のファイルへの相対パスをお手軽に入力するコマンドもしくは elisp はあるでしょうか?

例えば、find file コマンドのように補完入力でファイルを指定したら、そのファイルへの相対パスが入力できたら便利だな、思う事がしばしばあります。
0961名無しさん@お腹いっぱい。2014/12/08(月) 21:09:40.29
file-relative-name っていう関数がある
0962名無しさん@お腹いっぱい。2014/12/08(月) 21:12:17.71
find-fileって相対パスで指定してるし、何をしたいのかわからん
0963名無しさん@お腹いっぱい。2014/12/08(月) 21:56:00.04
>>960
やっつけだけどこんな感じ?

(defun insert-relative-file-path (file)
(interactive "ffile name:")
(insert (file-relative-name file (buffer-file-name))))
0964名無しさん@お腹いっぱい。2014/12/08(月) 22:00:36.63
間違えた…

(defun insert-relative-file-path (file)
(interactive "ffile name: ")
(insert (file-relative-name file
(file-name-directory (buffer-file-name)))))
0965名無しさん@お腹いっぱい。2014/12/08(月) 22:01:42.81
>>963
>
まさにそれ!!ありがとうございます。

あと、EmacsWiki でも、似たようなのを見つけることができた。
http://www.emacswiki.org/emacs/InsertFileName
0966名無しさん@お腹いっぱい。2014/12/10(水) 00:51:00.89
しかしemacs-diffsがgitに移行してから滅茶苦茶見づらくなった…
bzrに移行した時も少し見づらくなったがそれでも許容範囲だったが今回はアカン
0967名無しさん@お腹いっぱい。2014/12/10(水) 11:15:15.60
質問です。

helmを入れたら、M-x browse-url と M-x navi2ch が全然候補に出て来ず、
コマンド名を全部入力しなければなりません。解決するにはどうしたら
良いでしょう?
09689672014/12/10(水) 11:19:43.91
候補に出てこない、は嘘でした。リストのすごく下の方に出てくる。
もっと上の方に出現して欲しいのですが。
0969名無しさん@お腹いっぱい。2014/12/10(水) 11:34:45.73
>>968
(global-set-key (kbd "M-x") 'helm-M-x)
でいいんじゃないかな
0970名無しさん@お腹いっぱい。2014/12/10(水) 11:42:30.71
>>968
(setq helm-mode-reverse-history nil)
09719672014/12/10(水) 22:52:59.51
>>969-970
遅レスですが、うまく行きました。ありがとうございました!
0972名無しさん@お腹いっぱい。2014/12/11(木) 04:01:22.66
つ M-x nav TAB
0973名無しさん@お腹いっぱい。2014/12/12(金) 02:30:12.44
小菊の後継ってなかなかでないけどみんなhelmとか使うようになって不要になっちゃったからなのかね。
0974名無しさん@そうだ選挙に行こう2014/12/13(土) 19:39:49.68
http://mzp.hatenablog.com/entry/2014/12/12/005344
0975名無しさん@お腹いっぱい。2014/12/15(月) 15:47:30.61
formatの質問です
common lispで
(loop for i from 1 to 10
do (format t "[~A]~%" i))
とする場合の~%にあたるものは
emacs lispの方のformatにはないのでしょうか?
0976名無しさん@お腹いっぱい。2014/12/15(月) 16:25:05.95
どっちかっていうと C の sprintf 由来な感じだからないと思う。
おとなしく \n で改行出力でしょうね。
0977名無しさん@お腹いっぱい。2014/12/15(月) 16:29:44.42
EmacsWiki: CLFormat
http://www.emacswiki.org/emacs/CLFormat
0978名無しさん@お腹いっぱい。2014/12/17(水) 03:14:30.77
calc の HMS について質問させてください。

スタック1番の内容が
 1@ 2' 3"
となっている時に n を押すと
 -1@ 2' 3"
になりますが、
 0@ 2' 3"
のように時間が 0 の時に n を押すと
C-g でキャンセルするまで何もできなくなります。

calc-change-sign の advice で無理やり -0@ 2' 3" 入れても
t n で出した日時に + も出来ず、やはり C-g するまで戻ってきません。

時間部分が 0 な負の HMS を使うにはどうすればよいでしょうか?
0979名無しさん@お腹いっぱい。2014/12/17(水) 03:47:02.68
すみません、最後の t n は t N の間違いです。
0980名無しさん@お腹いっぱい。2014/12/18(木) 12:17:00.40
いつの頃からか session.el の session-set-file-name-exclude-regexp が機能してないような気がするんですが
皆様の環境ではいかがでしょうか?

emacs -q の環境で session.el をロード、session-initialize 後に
session-set-file-name-exclude-regexp に元々設定されてる .overview を開いて終了、
その後同じく emacs -q で session-initialize したところ .overview が file-name-history に普通に残っちゃっています。

コード見た感じだと find-file-hook に session-set-file-name-history が設定されており、
除外対象じゃなければ file-name-history にファイル名を追加するってコードになっているんですが、
どうも最初から file-name-history にファイル名が追加済みになっちゃってるみたいなんですよね。

試した環境は emacs-24.3 と emacs-24.4 です。
session.el は melpa にある 2.3a を使いました。
0981名無しさん@お腹いっぱい。2014/12/18(木) 13:40:34.04
Emacs 25.0.50、session 2.3a(melpa) で試してみたけど .overview は
file-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
>>981
うーん、残りませんか。
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
>>982
それは確か仕様だったような。
インタラクティブに実行した場合は残るはず。
関数として呼び出した時も履歴を残そうとする session-find-file がわざわざ用意されてるぐらいだし。
0984名無しさん@お腹いっぱい。2014/12/18(木) 15:31:01.95
>>983
ありがとうございます。パッケージとかが勝手に開くファイルを履歴に残さないための設定ってわけなんですね。

元々の発端は magit の COMMIT_EDITMSG が session-set-file-name-exclude-regexp に設定してるにもかかわらず
session に残されてしまうってのだったんですが、
どうやら magit が emacsclient 経由でコミットメッセージ書くようになったのが原因っぽいですね。
magit-emacsclient-executable を nil にして内部呼び出しだけで完結させたら file-name-history に残らなくなりました。
とりあえず emacsclient 使いつつの履歴に残らないような何かうまい解決方法考えてみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。