NTEmacs スレッド 3

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
2名無しさん@お腹いっぱい。:2012/01/03(火) 16:13:00.92 ID:t/ZxS1ba0
あけ おめ
いち おつ
3名無しさん@お腹いっぱい。:2012/01/03(火) 17:22:44.96 ID:rh0nNg7R0
おつかれちゃーん
4名無しさん@お腹いっぱい。:2012/01/04(水) 14:39:02.42 ID:lsfAYx+x0
おいおい、落ちちゃうぞ?

前スレ最後のテンプレ案に出てきてはじめてGNU emacs(x64)の存在を知った。
mingw64でもビルドできたりしないかな……。


5名無しさん@お腹いっぱい。:2012/01/04(水) 15:12:26.78 ID:wQvsaw290
emacs64って速いのかなぁ
整数扱える範囲も28+32bitになってたりするんだろうか
6名無しさん@お腹いっぱい。:2012/01/04(水) 16:04:40.25 ID:lsfAYx+x0
most-positive-fixnumは 2305843009213693951 だった。
0x1FFFFFFFFFFFFFFF だね。
7名無しさん@お腹いっぱい。:2012/01/04(水) 22:18:15.90 ID:wQvsaw290
そういえば gnupack はなんで cygwin 版の ghostscript を使わず
windows 版の ghostscript を使ってるんでしたっけ?
8名無しさん@お腹いっぱい。:2012/01/05(木) 00:46:13.44 ID:ABXgjFQC0
>>7
またスレ違いとか怒られそうだけどコメントすると,
w32tex.orgで配布されているバイナリが本家と違い
オプション -dWINKANJI を使えるから,です.

とはいえ,cygwin版をそもそも試したことがないので,
なんかメリットがあれば教えてもらえると嬉しいです.

それ以前に -dWINKANJIが日本語を含んだテキストの印刷に
関係あるのかも確かめてませんが…
9名無しさん@お腹いっぱい。:2012/01/05(木) 00:54:28.74 ID:YPyNZ/pE0
>>8
自分もこれから試そうかな状態なんですけど、以下の記事見てる感じだとcygwin版でも日本語扱えそうな感じがしたので。
http://www.akamoz.jp/you/uni/gs-cyg-ttf.htm
単純にこっちだと cygwin 側からも使いやすくていいかなーと。

それだけじゃなんなので・・・
doc-view.el も doc-view-ghostscript-program を設定してあげれば NTEmacs でも動くんですね。
まあ例によって日本語のファイル名だと動作が怪しいんですが・・・ coding-system-for-write を cp932 にしてるのに
ちゃんと動いてくれないorz
10名無しさん@お腹いっぱい。:2012/01/05(木) 22:58:02.05 ID:FV196OAg0
先日からGNU Emacs(x64)を使ってみてるんだが、あまりにも普通に使えるんで
拍子抜けするくらいだ。

最近の32bit版Emacsの最大バッファサイズは512MB(29bit)とかなりデカいので、
64bit版のメリットを感じる局面は少なさそうだが。
11名無しさん@お腹いっぱい。:2012/01/06(金) 08:00:04.96 ID:Djs4uktl0
オレはお小遣い帳のオーバーフローで困っていたので重宝してるぜ。
12名無しさん@お腹いっぱい。:2012/01/06(金) 11:37:50.26 ID:32ImYPDp0
どんだけ金持ちなんだよ
13名無しさん@お腹いっぱい。:2012/01/06(金) 22:53:40.47 ID:+e52v7mM0
太陽までの距離をミリメートルで表すみたいなもんだな
14名無しさん@お腹いっぱい。:2012/01/07(土) 07:32:00.94 ID:UAsDCrJT0
GNU emacs(x64)って見たところかなり良さそうだな。
ただ、試す環境がねーw
値段は16bitで足りそうだが、俺の小遣い15bit...
15名無しさん@お腹いっぱい。:2012/01/07(土) 10:22:45.50 ID:vK4dGno00
正直32bitメモリ空間で足りなくなるような編集してないんだけど、
64bitになって動作が早くなったとかのメリットもあるんだろか。
1610:2012/01/07(土) 10:47:35.97 ID:s9gwTyDN0
64bit化のメリットじゃないけど、migemoが速いメリットはあるねぇ。
あと、使える機能が少ないとかいうデメリットも特にないので、俺はすっかり
乗りかえてしまったよ。
17名無しさん@お腹いっぱい。:2012/01/07(土) 10:48:12.40 ID:vK4dGno00
Windows7 だとショートカットのエンコーディングが UTF-16LE になってるから
w32-symlinks.el そのままじゃ使えないのな・・・
18名無しさん@お腹いっぱい。:2012/01/07(土) 12:50:16.92 ID:Uf6hhNET0
64bit版ってAtokのインライン入力や
シェルの日本語も問題ないですか?
19名無しさん@お腹いっぱい。:2012/01/07(土) 20:32:01.56 ID:uhw/noU50
20名無しさん@お腹いっぱい。:2012/01/09(月) 20:48:16.35 ID:vzJJrbOK0
cygwin(bash) + ansi-term がうまく動いてくれないんだけど
ちゃんとうごかせてる人いる?
素の bash だと画面がガタガタになるわ
fakecygpty 版の bash だと何故か入力の echo バックだけないわで・・・
21名無しさん@お腹いっぱい。:2012/01/13(金) 23:14:02.61 ID:bXOOfvoQ0
64bit使ってみたけど、
32bit版と比較すると-Qで起動しても
初期状態で仮想メモリ500MB消費してるってどうなの??
22名無しさん@お腹いっぱい。:2012/01/14(土) 13:26:39.01 ID:I+7L8gDO0
emacs -qで起動した時のprivate working setサイズは20MBくらいだったが……。

23名無しさん@お腹いっぱい。:2012/01/14(土) 13:42:45.03 ID:6Q86Bflf0
migemo の dll 版を直接使用しているとかが関係してるんでないの?
24名無しさん@お腹いっぱい。:2012/01/14(土) 13:57:18.64 ID:vH9FIkkO0
多分ページ管理のオーバーヘッドでしょう。
x64(4Kバイトページ)では0.2%程度のメモリがページ管理に使用されるけど、
デフォルトで256G予約という事なので256G×0.2%で理論値どおり。

メモリ予約サイズは環境変数EMACS_MAX_HEAPで制御可能とどこかに書いてあった。
25名無しさん@お腹いっぱい。:2012/01/14(土) 16:40:03.73 ID:I+7L8gDO0
そう言われてコミットサイズを見るとたしかに500MB超えだった。なるほど。
まあ、そのサイズ分予約されてるだけなんで、あまり気にならんが。

26名無しさん@お腹いっぱい。:2012/01/14(土) 17:06:57.43 ID:vH9FIkkO0
いや、その500MBは管理用領域として実際に使っている。
デフォルト256Gというのは取り過ぎ。

環境変数EMACS_MAX_HEAPを実メモリの1-2倍程度にしとけばいいんじゃないかな。
EMACS_MAX_HEAP=8Gで37MB
27名無しさん@お腹いっぱい。:2012/01/14(土) 18:13:17.36 ID:6Q86Bflf0
実際どんな状況になったら 256G 使うような編集が出来るようになるんだろう
1年ぐらい立ち上げっぱでバッファ開きまくりとか?
28名無しさん@お腹いっぱい。:2012/01/14(土) 19:58:48.13 ID:vH9FIkkO0
動画編集.elとか。
29名無しさん@お腹いっぱい。:2012/01/22(日) 17:56:41.06 ID:5Z+Ppx1F0
GNU emacs(x64)ってパッチは公開してくれないんだろうか…
30名無しさん@お腹いっぱい。:2012/01/22(日) 18:10:04.35 ID:Yyw+NgFP0
インストールすればdistfilesにまとまってると思うけど。
31名無しさん@お腹いっぱい。:2012/01/22(日) 23:55:33.92 ID:Umt0OHuw0
emacs-24.0.92-20120120.exe で C-g (keyboard-quit)で落ちるのは
拙者だけでしょうか。
32名無しさん@お腹いっぱい。:2012/01/23(月) 00:00:40.36 ID:H0xs90tb0
gnupackで配布している奴?
うちでは落ちなかったよ。

"GNU Emacs 24.0.92.1 (i386-mingw-nt6.1.7601) of 2012-01-20 on GNUPACK"
on Windows 7 64bit
33名無しさん@お腹いっぱい。:2012/01/23(月) 00:03:13.68 ID:H0xs90tb0
ちょっと関係ないけど公式で配布しているemacsバイナリよりemacs-init-timeが0.1秒縮まったぜ。
34名無しさん@お腹いっぱい。:2012/01/23(月) 00:58:09.81 ID:EgzmNGiW0
35名無しさん@お腹いっぱい。:2012/01/23(月) 09:58:44.57 ID:H0xs90tb0
>>34
そう、それ。
i386だから32bitじゃない?
36名無しさん@お腹いっぱい。:2012/01/23(月) 12:18:16.13 ID:X35yT3fq0
>>35
WinXPで使用32bitと思っていたが、>>32で「on Windows 7 64bit」あったので。
37名無しさん@お腹いっぱい。:2012/01/23(月) 12:21:16.38 ID:X35yT3fq0
>>35
別のWinXP上もC-gで確実に落ちる。
>>868 24.0.90-20110929 の時と全く一緒。
24.0.90-20111008 〜 24.0.92-20111211 で問題なし。"877" で対処法あり。
38名無しさん@お腹いっぱい。:2012/01/23(月) 12:27:56.02 ID:1Ao5HnVj0
http://d.hatena.ne.jp/ksugita0510/20120122/p1
> 追記:configureのオプションを間違えたっぽく,C-g連打で落ちる問題が発生します.大変申し訳ありませんが,ひとまず,上記の公開は一旦停止とさせてください.
39名無しさん@お腹いっぱい。:2012/01/24(火) 14:15:54.15 ID:BF8UBuaz0
>>38
emacs-24.0.92-20120123.exe でWinXPでもC-gで落ちるのがなくなりました。ありがとうございました。
40名無しさん@お腹いっぱい。:2012/02/01(水) 02:35:44.16 ID:gYM/XltW0
教えてください。dired 上で日本語のファイル名は表示できているのです
が、'f' で開こうとすると

File no longer exists; type `g' to update dired buffer

とか言い出す始末です。設定はいろいろ試しました。

環境
Windows 7
GNU Emacs 23.1.50.1 (i386-mingw-nt6.1.7601) of 2009-11-03 on LENNART-69DE564 (patched)


試した設定

(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)

上記だけだと表示もままならないので

(set-language-environment "Japanese")
(setq file-name-coding-system 'utf-8-dos)

にすると表示はできるようになりますが、例のエラーがでます。他の
coding-system も試しましたが上手くいきません。このエラー自体は、
file-exists-p が nil を返すのが問題なようです。教えてください。
41名無しさん@お腹いっぱい。:2012/02/01(水) 07:02:27.89 ID:KMcBtz2x0
これでどうかな?

;;(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)
(setq default-file-name-coding-system 'japanese-cp932-dos)
42名無しさん@お腹いっぱい。:2012/02/01(水) 20:24:35.35 ID:l7IHGIxX0
ダメ文字でしょ。
回避できるようなのを file-name-handler 利用して作ったことがあるけど、
虚しくなって使っていない。
43名無しさん@お腹いっぱい。:2012/02/01(水) 21:01:45.67 ID:M7L4rzja0
ダメ文字対策はcのソースレベルでパッチ書いてる人いたけど
あの手のが未だに残ってるってのも結構どうかと思う。
44名無しさん@お腹いっぱい。:2012/02/01(水) 22:10:11.76 ID:My5Xm7Vv0
windowsとemacs間のファイルアクセスにはにSambaを噛ませる実装にしちゃえよと
45名無しさん@お腹いっぱい。:2012/02/01(水) 23:10:49.08 ID:zpEoraJw0
ダメ文字って何?
46名無しさん@お腹いっぱい。:2012/02/02(木) 00:22:55.75 ID:mVCrnzq00
47名無しさん@お腹いっぱい。:2012/02/02(木) 08:12:08.97 ID:rWLN835Q0
いやいや、japanese-cp932-dos使えば、\を2バイト目に含んだ

芸能界\構わない.txt
芸能界\表示方法.txt

とか、普通にdiredとかfind-fileできるけど?
48名無しさん@お腹いっぱい。:2012/02/02(木) 13:18:01.39 ID:i6nEH/J60
>>47
芸能界 は?
49名無しさん@お腹いっぱい。:2012/02/02(木) 13:20:24.13 ID:i6nEH/J60
違った。

芸能界\一覧表

とかは?
50名無しさん@お腹いっぱい。:2012/02/02(木) 13:25:14.09 ID:rrL9j/ec0
文字コードの設定しなくてもだいじょうぶなんですけどね。
51名無しさん@お腹いっぱい。:2012/02/02(木) 15:35:55.72 ID:uCMIUj4R0
俺のところだと「一覧表」って名前のフォルダ「がある」フォルダに dired で移動しようとするとアウト。
version は GNU Emacs 23.3.1 (i386-mingw-nt6.1.7601) of 2011-08-15 on GNUPACK

c:\users\hogehoge\documents\一覧表 ってフォルダがあった場合、
c:\users\hogehoge から documents に移動しようとすると
Format specifier doesn't match argument type がでる。

ちなみに file-name-coding-system は cp932
gnupack 標準配布の状態から設定変更なしな。
52名無しさん@お腹いっぱい。:2012/02/02(木) 15:38:14.31 ID:uCMIUj4R0
なお、file-name-coding-system を japanese-cp932-dos にしても同様だった。
53名無しさん@お腹いっぱい。:2012/02/02(木) 21:28:27.14 ID:437kxkcG0
ソース見たけどfile-name-coding-systemでどうこうできる問題じゃないよ。
54名無しさん@お腹いっぱい。:2012/02/03(金) 00:22:06.23 ID:w6abHYAa0
おお、ファイル名(含むフォルダ名)の「末尾」の文字の
2バイト目が0x5cのときだけダメなんだな。
55名無しさん@お腹いっぱい。:2012/02/03(金) 03:39:43.25 ID:w6abHYAa0
NTEmacs23.2 Shift_JISパッチ (日々の反省1)

http://highmt.wordpress.com/2010/10/20/ntemacs23-2-shift_jis%E3%83%91%E3%83%83%E3%83%81/

で公開されているパッチを、23.3のソースに(一部手動で)当て直したもの。
※上記のパッチで '' になってる部分は、'\0'が抜け落ちたものとして補完してある

http://www1.axfc.net/uploader/File/so/74859

gnupackで公開されてるemacs-23.3-ime-2012-01-22.patchを当ててから、
こいつ(emacs-23.3-cp932-damemoji.patch)を当てると、
「一覧表」フォルダがあるフォルダにもdiredで移動できるようになったよ。
56名無しさん@お腹いっぱい。:2012/02/04(土) 10:24:14.53 ID:GXKnhdMA0
前スレ>>919です。
前スレ>>919のパッチはframe-parameterのime-fontの設定は使用していなかっ
たのを、使用するようにしました。

http://www1.axfc.net/uploader/File/so/74913
5756:2012/02/04(土) 10:27:05.33 ID:GXKnhdMA0
どれへのパッチか書き忘れてました。
>>56
emacs-24.0.92 + emacs-24.0.92-ime-2012-01-22.patch
へのパッチです。
58名無しさん@お腹いっぱい。:2012/02/07(火) 09:35:09.38 ID:OOESHlIi0
56のパッチを当てたNTEmacs 23.4を使用しています。
普段常用している.emacs.d/init.elの中で、
initial-frame-alist(default-frame-alistにもコピー)にime-fontを追加すると、
最初にIMEをオンにした瞬間にw32fns.c/w32_abort()のダイアログが出て、
Emacsがappcrash(例外コード40000015)します。

デバッグ情報を含めてビルドした23.4のバイナリをgdbから起動して、
同じ事をすると、

Program received signal SIGTRAP, Trace/breakpoint trap.
0x760b3e2f in KERNELBASE!DeleteAce () from C:\Windows\system32\KernelBase.dll

となります。
59名無しさん@お腹いっぱい。:2012/02/07(火) 09:40:31.85 ID:OOESHlIi0
もちっと原因を絞り込めないかと調べてるところなんですが、

・56のパッチを当てたgnupackの24系、23.3系バイナリでも、
 普段常用している.emacs.d/init.elを読み込むと同じ結果(appcrash)になる
・ime-fontの設定を外して、フレームのfontをそのままIME用に使うと
 正常に動作する
・initial-frame-alistやw32-ime-initializeなど最小限の設定のみを書いた
 minimal.elを作成し、-Q -l minimal.el で起動すると、
 正常に動作する(ime-fontで指定したフォントがIME用に使われる)
60名無しさん@お腹いっぱい。:2012/02/07(火) 09:42:02.88 ID:OOESHlIi0
これは、普段読み込んでいるelispパッケージの何かとコンフリクトしている
のではないかと思い、

・minimal.el に.emacs.d/init.elの内容を少しずつ追加していったら
 auto-install.elを読み込んだ後、auto-install-compatibility-setupを
 呼び出すとappcrashした

ので、auto-install.el おまえcarっと、確認のために、

・minimal.elに最小限の設定 + auto-intall.elの読み込みと
 auto-install-compatibility-setup を追加した場合には正常に動作する

直接コンフリクトしているのではないみたい。ちなみに、

・普段常用している.emacs.d/init.elの場合は、
 auto-install-compatibility-setupの内容の末尾にある
 message(4行ぐらいミニバッファに表示する)をコメントアウトすると、
 正常に動作する。
61名無しさん@お腹いっぱい。:2012/02/07(火) 13:12:16.15 ID:8Am6ImpY0
>>58
そのパッチは使ってないので経験則だけど、そういう症状はGCがらみの場合が多い。
frame_param_ime_fontが怪しい。
62名無しさん@お腹いっぱい。:2012/02/08(水) 00:10:23.90 ID:Hk5HSa8l0
GNU Emacs(x64)使ってみたけど、32bit版に比べて遅い気がするんだが・・・。
何処といわれるとパフォーマンス計測したわけじゃないので明言はできないが、
EDEでC++ソースなどを開いた際や編集した際に
semantic-dbやlispによるパースなどが行われているのか
数秒間固まる事がある。
タスクマネージャーでCPU時間をみてると5秒間ずっと17%ぐらい占有したままの状態になった。
結構頻繁にあるので困ってます。
32bit版でも、同様のシチュで重くなることはあるけれど
64bit版にくらべるとかなり軽微な感じでした。
6356:2012/02/08(水) 07:19:40.89 ID:AVQtr/kd0
>>58
あらら…私の環境では起きなかったので気付きませんでした。すみません。
私も調べてみたいとおもいますがどうもうまく現象が再現できません…
(auto-install.el読み込み後auto-install-compatibility-setup呼び出しても
起きない)

>>61
GCまわり詳しくないのですが何か手がかりになりそうな情報ご存知でしたら
ご教示いただけるとありがたいです。
64名無しさん@お腹いっぱい。:2012/02/08(水) 23:31:00.94 ID:qnFaBhYI0
>>63
スマン。
最近のemacsはコンサーバティブGC使ってるので>>61はウソだ。忘れてくれ。
6558:2012/02/10(金) 10:43:26.75 ID:mEKuvN1H0
>>56
いえいえ、わざわざ調べてもらってすいません。
私自身も普段はime-fontを設定していない(フレームのfontをそのまま利用)しているのですが、せっかく現象が起きる環境があるので、試行錯誤の末、ime-fontを設定した場合でも問題が起きない実装にしてみました。

http://www1.axfc.net/uploader/File/so/75179

どうやら、58さんがスレ2で作成したパッチのうちの、
>#あと w32_set_ime_font 呼び出しを w32_set_ime_conv_window 内へ移動。
が、appcrashを起こす原因になっていたようです。

それ以前の実装を参考に、WM_IME_NOTIFYでw32_set_ime_fontを呼び出し、w32_set_ime_conv_windowでは呼び出さないようにしたらappcrash
しなくなりました。
66名無しさん@お腹いっぱい。:2012/02/10(金) 21:01:47.92 ID:s9zV4+C80
以前からIMEとemacsでフォントが異なるのが気になっていましたが、
触発されていじってみました。23.4+IMEパッチ(2011年11月頃)へのパッチです。
(フォント設定の修正だけでなく、プロトタイプ宣言の追加等も入っていますが、
うまく切り出せなかったのでご容赦)、パッチのオフセットはずれていると思います。
当初、フレームの日本語フォントとime-fontの設定を分ける意義がわからなかっ
たので、フレームの日本語フォントと同一にするだけにしようと思っていました
が、ime-fontで別フォントにする機能もなんとなく作りこんでしまいました。

・フレーム属性ime-fontにfontset名またはxlfd名を指定できます。
・指定がない場合はフレームの日本語フォント("あ"を表示するフォント)を使用します。
・フォントのサイズはface-font-rescale-alistの設定を適用します。
・フォント設定(w32_set_ime_font)と、変換ウインドウ位置設定(w32_set_ime_conv_window)呼び出しの最適化。
http://hp.vector.co.jp/authors/VA052357/23.4-ime-font.patch.gz

>>62
32bitでsemanticは使ったことがなかったので、こんなもんかと思っていましたが、
プロファイルかけてみます。
67名無しさん@お腹いっぱい。:2012/02/11(土) 00:33:00.21 ID:nKPAwUza0
>>66
さっそくバグ発見してしまったので、差し替えました。
2/11 0:28以前に取得した方は再取得してください。
ime-fontにfont-specも許すようにしました。(こんなの誰が使うんだ?)

(default-frame-alist
`((ime-font . ,(font-spec :family "あずきフォント" :size 12))))
6856:2012/02/11(土) 11:41:47.05 ID:NIqELbOX0
>>65
解決してよかったです。自分のしょぼいパッチが迷惑かけたかと思って冷や汗
ものでした^^;

>>66
#…もしかしてBOWの方?
ime-fontの設定しなくても日本語部分のフォント使うんですね。すごいです。

ただ、(>>65,>>66 どちらもで)ちょっと気になるので一点だけ。
w32_set_ime_fontの呼び出しがそこだと

・2つフレーム開く
・一方のフレームでフォント設定変える
・「IME ONのまま」フレームを切り替える
(frame-parameterのime-fontの設定はなし)

などとするとフォントがあわなくなるようです。
#まあ、普段そんな使い方してるわけではないので気にしなければいいだけですが

よくわかってないですがとりあえずWM_IME_NOTIFYで
wParam == IMN_OPENSTATUSWINDOWの時にもw32_set_ime_fontを呼び出すように
してみるとうまくいっているような気がします。
6958:2012/02/11(土) 11:59:26.43 ID:P9EhUiC30
>>66
>当初、フレームの日本語フォントとime-fontの設定を分ける意義がわからなかっ
>たので、フレームの日本語フォントと同一にするだけにしようと思っていました
>が、ime-fontで別フォントにする機能もなんとなく作りこんでしまいました。

これは、当初の実装でフォントセットを正しく扱うのが(当時のパッチを
書いた人にとって)面倒だったからじゃないかと思ってます。

フォントセットでASCII部分と日本語部分に別のフォントを割り当てた場合、
フレームのフォント(hfontでハンドルが得られるやつ)は、ASCII部分の
フォントで、IME用にこれをそのまま割り当てると、それが英語フォント
だった場合は、(暗黙または明示的な)フォントリンクによって、
日本語部分とは別のフォント(たとえばMS UIゴシックなど)が
IME用に使われてしまいます。

で、正統的な解決法はOOTAさん(じゃなかった、66の中の人)みたいに
日本語部分のフォント(のうちのどれか)を取得して設定することなんだけど、
それが面倒だったので、「ime-fontで明示的に設定してね」ってやった
のではないかと。

フォントセットの日本語部分のフォントを取り込めるなら、ime-fontを使う
場面は、「目が悪いので変換時はデカイフォントがいいんじゃ」みたいな
ものしか思い浮かびません...
70名無しさん@お腹いっぱい。:2012/02/11(土) 17:20:38.51 ID:nKPAwUza0
あっヤバいことに気づいてしまった。ハングしないのはまぐれですね。w
wndメッセージを処理するスレッドとlispスレッドは別なので、
メッセージループから直接lispデータに触っちゃだめじゃん。
71名無しさん@お腹いっぱい。:2012/02/11(土) 20:30:34.55 ID:NIqELbOX0
gnupackのemacs-23.3-ime-2011-03-13.patchではsrc/w32term.cの
w32_read_socketでやってますね。最初見たときなんでここでやってたのか
よくわかりませんでしたが>>58さんの現象、たぶんここ変えちゃったからです
よね。
7258:2012/02/12(日) 00:24:35.21 ID:600xHArL0
あー、2011-03-13で、w32fns.cのWM_IME_NOTIFY受け取ったところで、
my_post_msgでWM_MULE_IME_SET_FONTをポストしてるところだ。
で、w32term.cのほうでそのメッセージを受け取ってw32_ime_fontを
呼んでIME用フォントの処理をする、と。
こんなまだるっこしいことしてるのはスレッドが別だからなのか。

確かに、gdbで挙動追いかけてるときに、ime-fontの指定があるときに
呼び出してるfill_in_logfont()でクラッシュすることが多かったんだけど、
そこでもさらにいろいろlispデータにさわってます。
7366:2012/02/12(日) 10:43:37.82 ID:wXQsDsdp0
my_post_msgでポストして、lispスレッドからset_ime_fontを呼び出すようにすると
何故かIMEフォントが設定できない。なにか間違ってるのだろうか…
RECONVERSIONの方もヤバそうだけど、こっちはwnd_procスレッドの方で結果を返さ
ないといけないから、厄介ですね。

>>56
> #…もしかしてBOWの方?
はい。
7458:2012/02/12(日) 12:59:42.93 ID:600xHArL0
gnupackのIMEパッチ(2011-03-13)を参考にして、論理フォントの生成と
IMEへのフォント設定を別の関数に分離してみたもの。
gnupackの最新IMEパッチ(2012-02-05)を当てた後で当ててください。
http://www1.axfc.net/uploader/File/so/75265

WM_IME_NOTIFYを受け取ると、my_post_msgでWM_MULE_IME_SET_FONTをポストし、
w32term.c/w32_read_socket()でそいつを受け取ったときに
論理フォントを生成する関数が呼び出されます。
なお、関数名は、わかりやすさを考慮して、元のw32_ime_font()から
w32_set_ime_logfont()に変更しています。

あと、68での指摘を受けて、WM_IME_NOTIFYで
wParam == IMN_OPENSTATUSWINDOWの時にも
同様にメッセージをポストするようにしています。

これで、w32_set_ime_font()は、生成済みの論理フォントを
IMEに設定するだけのシンプルな内容に戻りました。
こいつは、w32fns.c/w32_wnd_proc()の中で、
WM_IME_STARTCOMPOSITIONと
WM_MULE_IMM_SET_CONVERSION_WINDOWを
受け取ったときに呼び出しています。
7556:2012/02/12(日) 14:09:45.26 ID:hlYb7Nrh0
やはりBOWの中の人でしたかw さすがです。

#BOWって何?って人はBSD on Windowsでググってみてください
76名無しさん@お腹いっぱい。:2012/02/13(月) 04:05:35.62 ID:FNjIDW5z0
GNU Emacs(x64)ですが
23.4のビルド、デバッグでおこなわれてませんか?
実行するとサイドバイサイド系の警告吐くので、再配布パッケージがらみなのかな。

いちおう動作していた23.3と23.4のマニフェスト確認してみたけど
23.3がMicrosoft.VC90.CRT
23.4がMicrosoft.VC90.DebugCRT
になってました。

7766:2012/02/13(月) 20:40:16.92 ID:mH1EcHN70
うっ、すみません。作り直します。
反応があるのはうれしいのですが、「ここはサポート掲示板じゃねーぞ」と
言われないようにblogかvectorの方にコメントしていただけると幸いです。
78名無しさん@お腹いっぱい。:2012/02/13(月) 22:47:43.00 ID:FNjIDW5z0
>>77
> うっ、すみません。作り直します。
> 反応があるのはうれしいのですが、「ここはサポート掲示板じゃねーぞ」と
> 言われないようにblogかvectorの方にコメントしていただけると幸いです。
あ、了解です、すいません。
7956:2012/02/18(土) 15:26:50.93 ID:wr6AxFQ70
>>58さんのパッチ(>>74)と>>66さんのパッチを組み合わせてみました。
パッチありがとうございます > >>58さん、>>66さん

emacs-23.4用
emacs-23.4 + emacs-23.4-ime-2012-02-05.patchにあててください。
http://www1.axfc.net/uploader/File/so/75508

emacs-24.0.93用
emacs-24.0.93 + emacs-24.0.93-ime-2012-02-05.patchにあててください。
http://www1.axfc.net/uploader/File/so/75509
8056:2012/02/18(土) 15:27:30.58 ID:wr6AxFQ70
>>79の続き

・gccでのビルドだとフォント名が日本語のものがIMEのフォントに設定できな
かったので
strcpy(ime_logfont.lfFaceName, SDATA(family)); を
strcpy(ime_logfont.lfFaceName, SDATA(ENCODE_SYSTEM(family)));
にしました。
#環境がないのでわかりませんがMSVCだと問題ないのかな。

・WM_MULE_IMM_SET_CONVERSION_WINDOWで毎回w32_set_ime_font()
((ImmSetCompositionFontProc)())を呼ぶのは冗長な気がしたので
(一応>>56のパッチでは設定が変わってなければ(ImmSetCompositionFontProc)()
は呼ばれないようにしていたつもり)、
w32_set_ime_logfont()後にメッセージを送ってw32_wnd_proc()で
w32_set_ime_font()を呼ぶようにしてみました。
#w32_read_socket()でw32_set_ime_font()を呼んでもIMEのフォントに設定
#されないようなので。
#よくわかってないけどこんなんでいいのかな…

>>68に書いた、フレームのフォントが異なるフレーム間をIME ONのまま移動
するとIMEのフォントがあわなくなる、というのがC-x 5 oとかで移動する場合は
なぜか起きなくなったのですがマウスクリックでの移動だと起きてしまいました。
IMEで文字入力を開始したときにWM_IME_NOTIFYでwParam==269なのが飛んできてる
ようなので、そのときもWM_MULE_IME_SET_FONTをポストするようにしてみると
一瞬違うフォントがみえることがあるけどIMEのフォントがあうようになったので
そうしています。#怪しいです^^;
81名無しさん@お腹いっぱい。:2012/02/22(水) 06:45:03.81 ID:/4oTnUTY0
>>79
emacs-24.0.03 の方ですが、
私の環境では、IME-on するたびに警告音がなります。
*Messages* バッファに、
completing-read-default: Wrong type argument: stringp, (nil . "jisx0208*-*")
などと出るのですが、私の環境だけ?
init.el の中を探してもそれらしい場所は見つからず。
8266:2012/02/22(水) 20:30:49.70 ID:hSyxfiZ10
RECONVERSIONがwindowスレッドからlispデータにアクセスしていてまずそうなので、
大改修しました。APC(Asyncronous Procedure Call)でLispスレッドに関数を送り込み、
Lispスレッドで処理します。メモリアロケータもwindowsスレッドから呼べるよう、
排他制御しました。IMEフォントもこの機構を使ってLispデータから情報を取るように
しました。ついでにIMR_DOCUMENTFEED(前後参照変換)にも対応してみました。(Win7/MS-IMEで動作確認)
IMEフォントの切り替えの作りこみが不十分(フレーム切り替えとか)だと思いますが、
しばらく時間的にいじれなくなるので、公開します。

x64版での変更からは独立するようにしたつもりなので、32ビット版でもいけると思っています。
2011年11月頃のimeパッチからの差分になっているはず(はずばかりで申し訳ない)

http://hp.vector.co.jp/authors/VA052357/23.4-ime.patch.gz
.\configure.bat --enable-w32-ime --cflags=-DRECONVERSION --cflags=-DDOCUMENTFEED
8379:2012/02/22(水) 21:11:16.66 ID:xKU2HDO30
>>81
emacs-24.0.93の方を使っていますが私の環境ではおきていません。
-qオプションを指定して起動してもおきますか?
8466:2012/02/22(水) 22:15:12.16 ID:hSyxfiZ10
申し訳ありません。>>82はいったんひっこめます。
85名無しさん@お腹いっぱい。:2012/02/22(水) 23:34:25.15 ID:/4oTnUTY0
>>83
お騒がせしました。init.el のせいのようです。
整理して 今やもう古い Meadow 用のコードを削除したら問題は起きなくなりました。
if (featurep 'Meadow) していたのですが。
8666:2012/02/23(木) 00:42:20.81 ID:olx80Nzh0
>>82を修正版で置き換えました。
87名無しさん@お腹いっぱい。:2012/03/10(土) 19:05:50.22 ID:t4q/afjt0
日本語対応NTEmacsとしてのgnupackが
http://gihyo.jp/magazine/wdpress/plus/978-4-7741-5002-4
の本で紹介されてますね。お世話になってます
88名無しさん@お腹いっぱい。:2012/03/17(土) 18:46:03.86 ID:XvbyqTZV0
>>82
パッチを試してみようと思ったのですが,
適用元の状態が良く分からず,上手くいきません.

素のソースファイルとの差分パッチを公開いただくことは可能でしょうか?
89名無しさん@お腹いっぱい。:2012/03/24(土) 13:06:53.58 ID:SxgjRYmP0
>>88
x64版のパッチ(x64版インストール先のdistfiles/diffs-0.zip内のdiffs-0.diff)
を当てたemacs-23.4へだとすこし行がずれますが当たるみたいですよ。
90名無しさん@お腹いっぱい。:2012/03/29(木) 04:31:40.87 ID:AuwNBzPU0
gnupackのbasicとdevelってどう違うのん?
91名無しさん@お腹いっぱい。:2012/03/29(木) 04:59:31.18 ID:p1mA/s2G0
前スレ975が見ているかな。

gnupackのemacsで、
C-x C-fでTab補完するとc:c:/homeみたいになるのは、
file-name-shadow-modeをnilにすると直りました。
他への影響は分かりませんが。

http://stackoverflow.com/questions/1705802/emacs-tab-completion-of-file-name-appends-an-extra-i-cygwin
92名無しさん@お腹いっぱい。:2012/04/24(火) 14:33:05.38 ID:lBglecSp0
Emacs始めようとしたのだが、背景白でまぶしくてかなわない。
お薦めのカラーセットはどうすればいいかな?
93名無しさん@お腹いっぱい。:2012/04/24(火) 18:03:14.47 ID:nVpKbGtS0
XP x86上で、gnupack氏のemacs-23.4-20120324.exeを使用しています。
IMEをオンにしていると、入力中にフレーム内の文字の一部が消えます。
消えた部分をカーソルでなぞるか、emacsをアクティブにし直せば再描写
されるのですが。
emacs-24.0.94-20120324.exeでも同様でした。
設定は、~/.emacs.d/init.elに以下のみで試しました。
;;;; -*- coding: utf-8-emacs-unix -*-
(setq default-input-method "W32-IME")
(w32-ime-initialize)
94名無しさん@お腹いっぱい。:2012/04/25(水) 01:35:20.18 ID:r7vCV1FQ0
>>93
私の所でもGoogleIMEを使うと起きます。ATOK、SKKでは起きないようです。
Win7の64bit ですが、GNU Emacs 64bit のほうがフレームが消える確率がかなり高いです。
ATOKに切り替えようかと思っていますけど、なおったらいいな。
95名無しさん@お腹いっぱい。:2012/05/16(水) 14:56:21.52 ID:cxeFk8Q90
emacs上でGoogle IMEを使っています。
(setq default-input-method "W32-IME")
(w32-ime-initialize)
init.elにこう設定をするとkanjiキー(半角全角キー)でIMEの状態をトグルできなくなってしまいます。
原因を探った所、どうやらkanjiキーを押すとemacsとGoogle IMEの両者が共に状態をトグルさせようとし、
その結果状態が2回反転され元の状態から変わらない、というカラクリのようでした。

(defun nop () (interactive) t)
(global-set-key (kbd "<kanji>") 'nop)
そこでその後ろでこうした所うまくトグルされるようになったのですがemacsがIMEの状態変化に気づけないようで
モードラインの最左が[Aa]のまま変化しなかったり、ON/OFF毎に設定しているカーソルの色が変化しなくなりました。
MS IMEではこの様なことは起こりませんでした。良い解決方は無いでしょうか?お知恵を拝借したいです。

emacs
This is GNU Emacs 23.4.1 (i386-mingw-nt6.1.7600)
 of 2012-03-24 on VMWIN2

Google IME
GoogleJapaneseInput-1.4.1031.0
96名無しさん@お腹いっぱい。:2012/05/17(木) 11:51:11.09 ID:ShWIaFJn0
>>93
>>95
gnupack emacsをWin7で使ってるけどフツーに使えとるよ。
ちなみに日本語関連の設定はこんなん

;;; 日本語環境の設定
(set-language-environment "Japanese")
(set-keyboard-coding-system 'japanese-cp932) ;; おまじないかも

;;; IME の設定
(setq default-input-method "W32-IME")
(setq-default w32-ime-mode-line-state-indicator "[--]") ;; おこのみで
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]")) ;; おこのみで
(w32-ime-initialize)

;;; IME ON/OFF 時にカーソル色を変える。
(setq ime-activate-cursor-color "#00a000")
(setq ime-inactivate-cursor-color "#000000")
(set-cursor-color ime-inactivate-cursor-color)
;; ※input-method-activate-hook, input-method-inactivate-hook じゃない方がいい感じになる。
(add-hook 'w32-ime-on-hook
(function (lambda ()
(set-cursor-color ime-activate-cursor-color))))
(add-hook 'w32-ime-off-hook
(function (lambda ()
(set-cursor-color ime-inactivate-cursor-color))))
97名無しさん@お腹いっぱい。:2012/05/17(木) 11:54:37.40 ID:tgM9YAT40
>>95
Emacs なんだから
C-\ でいいじゃん。
98名無しさん@お腹いっぱい。:2012/05/17(木) 15:29:54.49 ID:rSHnBxSt0
>>96
詳細なレスありがとうございます。私もgnupack emacsをWin7で使っています。
.emacsに上記だけを書き試してみましたが、うまくいきませんでした。
IMEは何をお使いでしょうか?問題点は半角全角キーでIMEのON/OFFをトグルさせたいときにうまくいかないと言う点です。
IMEがMS IMEやSKKの場合はうまくいくのですがGoogle IMEの時はうまくいきませんでした。

>>97 IMEのデフォルトトグルキーである漢字キーを使い今までと同じように1キーで切り替えたいです。
99名無しさん@お腹いっぱい。:2012/05/17(木) 16:04:24.51 ID:tgM9YAT40
>>98

Google IME の設定でどうにかできないのなら
w32-ime-state-switch を書き換えて IME のモード変更を
しないようにすれば?
100名無しさん@お腹いっぱい。:2012/05/22(火) 17:54:36.55 ID:66uSsYXU0
ずっと前に効いた質問、やっと見つけた。
キーのリマッピングできるソフトはKeyRemap4MacBook
101名無しさん@お腹いっぱい。:2012/05/29(火) 21:42:07.74 ID:0/xVA/fQ0
>>98
96です。自分もGoogle IMEを使用しています。
現在自宅にいてVistaで実験してるのでなのでなんとも言えませんが。
私もできるだけ最小の構成でやってみたのですが、ちゃんとトグルしてまして...
やったことといえば、emacs/binをPATHに追加して、
.emacdはutf-8-unixで書いて以下の一文+>>96の設定をしただけです。
;;;; -*- mode: lisp-interaction; syntax: elisp; coding: utf-8-unix -*-

Google IME: 1.4.1031.0
emacs-version: GNU Emacs 23.4.1 (i386-mingw-nt6.0.6002) of 2012-03-24 on VMWIN2
参考に、Google IMEのキー設定のスクショ貼っときます。
ttp://up3.viploader.net/pc/src/vlpc011599.png
10293:2012/05/30(水) 19:21:59.83 ID:ruui1a1X0
Microsoft Office IME 2010を使用していますが、20120527版でも症状変わらず。
20120205版に戻しました。
103名無しさん@お腹いっぱい。:2012/06/05(火) 14:24:29.01 ID:nopaml1A0
>>95の人とはまた別の問題だと思いますが、うちではバッファ切り替え時の
IME状態の引き継ぎがおかしいです。状態を引き継がない設定にしているんですが、

  1) あるバッファでIMEをOFFにしておいて、
  2) 別のバッファを開き、IMEをONにして、
  3) 元のバッファに戻ると、カーソルはIME ONの色、モードラインはIME OFFの表示、
    実際に入力するとIME ONになっている。
  4) ここで、半角/全角キーを押すと、モードラインはIME ONの表示に変わり、
    他はそのままで表示と状態の整合がとれる。

となってしまいます。何か対策はないでしょうか。

Windows XP SP3 32bit、MS IME スタンダード 2003、Emacsはgnupackの20120324版、
設定は付属のinit.elのカーソルカラー関連をアンコメントしています。

;; 標準IMEの設定
(setq default-input-method "W32-IME")
;; IME状態のモードライン表示
(setq-default w32-ime-mode-line-state-indicator "[Aa]")
(setq w32-ime-mode-line-state-indicator-list '("[Aa]" "[あ]" "[Aa]"))
;; IMEの初期化
(w32-ime-initialize)
;; IME OFF時の初期カーソルカラー
(set-cursor-color "red")
;; IME ON/OFF時のカーソルカラー
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "green")))
(add-hook 'input-method-inactivate-hook
(lambda() (set-cursor-color "red")))
;; バッファ切り替え時にIME状態を引き継ぐ
(setq w32-ime-buffer-switch-p nil)
104103:2012/06/06(水) 10:10:41.82 ID:7L/DUxhl0
すみません。

× 状態を引き継がない設定にしているんですが、
○ 状態を引き継ぐ設定にしているんですが、

です。
105103:2012/06/10(日) 22:42:16.67 ID:FEHnwzBn0
>>103ですが、一応自己解決しました。

w32-ime-sync-stateという関数を書き換えて、
バッファが切り替わるたびにIMEのON/OFF((ime-get-mode)の値)に合わせて
activate-input-methodまたはinactivate-input-methodするようにすれば、いけました。

モードラインの表示も直接(ime-get-mode)の値を評価した方が良さそうだし、
他にももっと整理した方が良さそうだけど、一応動いてるからいいや。
106名無しさん@お腹いっぱい。:2012/06/19(火) 02:13:33.95 ID:sDwMx/S+0
Emacs初心者なのですが、現在設定ファイルを書いていて、c-x c-fなど、
起動時のワーキングディレクトリをホームディレクトリにするために、
(cd "~/")
を設定したのですが、反映できません。

(setq inhibit-startup-message t)
を追加したら、反映できたのですが、
なぜ、このようことがおきるのでしょうか?

OS: Windows 7 64bit
Emacs: emacs-24.1-20120616.exe (gnupackのもの)
環境変数: HOME=C:\home\watashi
備考: runemacs.exeから起動
107名無しさん@お腹いっぱい。:2012/06/19(火) 06:28:19.61 ID:fcBAEKql0
>>106
期待通りに動作しない原因については後でゆっくり自分で調べてもらうとして、
Windows なら、起動ショートカットのプロパティの中の作業フォルダを設定することで
「起動時のワーキングディレクトリをホームディレクトリに設定」できる。
108名無しさん@お腹いっぱい。:2012/07/03(火) 05:06:02.81 ID:+M8/O6gp0
24.1出たのでMinGWでコンパイルしようとしたけど
makeがいちいちアクセス拒否で死んで殺意覚える
10956:2012/07/14(土) 15:59:53.99 ID:1VzMGj390
>>93
XPでOffice IMEを使うと私のところでも発生しました。MS IME Standardだと
発生せず。

w32_wnd_proc() の WM_IME_STARTCOMPOSITION の処理で変換ウインドウを
設定した時だけデフォルトの処理(goto dflt)をするようにすると解消した
ようです。

emacs-24.1-ime-2012-06-16.patch後に当ててください。

http://www1.axfc.net/uploader/File/so/81075

文字が消えるのとは関係ないですがIMEフォント設定のところを少し変えて
みてます。
11093:2012/07/16(月) 15:32:00.02 ID:aYYPZ3Wn0
>>109
56さん、gnupackのksugitaさんありがとうございました。
111名無しさん@お腹いっぱい。:2012/07/25(水) 16:36:22.96 ID:URn2zDlY0
gnupack_devel-9.00 を利用しています。

utf-8でエンコードされた漢字を含むバッファに対し、M-| (shell-command-on-region)
を使って、grep 'あああ' のような漢字コードをパラメータに含むコマンドを実行する
ことは可能でしょうか?
112名無しさん@お腹いっぱい。:2012/07/26(木) 01:12:54.75 ID:CKSLCU8w0
>>111
まずは自分でやってみ
113名無しさん@お腹いっぱい。:2012/07/26(木) 12:25:01.69 ID:rAADqd/n0
>>112
やってみてだめなので。

"あああ
いいい"という文字列が入っているuft-8のバッファを全選択して、
M-|の後に(つづく..)
114名無しさん@お腹いっぱい。:2012/07/26(木) 12:27:06.03 ID:rAADqd/n0
■ (modify-coding-system-alist 'process ".*sh\\.exe" '(utf-8 . utf-8)) の場合

・sort ---> OK
・grep 'あああ' ---> エラー
115名無しさん@お腹いっぱい。:2012/07/26(木) 12:29:25.86 ID:rAADqd/n0
■ (modify-coding-system-alist 'process ".*sh\\.exe" '(utf-8 . cp932)) の場合

・sort ---> エラー
・grep 'あああ' ---> no output
116名無しさん@お腹いっぱい。:2012/07/26(木) 12:48:28.58 ID:FpcLvOKZ0
ここらへんすごく根が深いんだよね
117名無しさん@お腹いっぱい。:2012/07/26(木) 13:09:36.45 ID:rAADqd/n0
shell-command-on-regionから呼ばれているcall-process-regionにアドバイス
入れてみた。でも、どこかに影響が出そう。

(modify-coding-system-alist 'process ".*sh\\.exe" '(utf-8 . cp932))
(defadvice call-process-region (before ad-call-process-region activate)
(if (ad-get-arg 7)
(ad-set-arg 7 (concat "nkf -w | " (ad-get-arg 7)))))
118名無しさん@お腹いっぱい。:2012/07/26(木) 15:58:33.92 ID:rAADqd/n0
113のテストは、LANG=ja_JP.UTF-8 でしました。
これをLANG=ja_JP.cp932にして、processの入出力もcp932にすれば、
アドバイスの設定しなくてもうまくいきました。

だから、gnupackのデフォルト値はcp932なんですかね..。

119名無しさん@お腹いっぱい。:2012/07/26(木) 16:30:24.37 ID:FpcLvOKZ0
Windowsの仕様だったかでどっかがcp932決め打ちになってるってのだけは覚えてる
NTEmacsスレの過去ログでもそこらへん話題になってたはず
すっきりした解決策はなかったような
120名無しさん@お腹いっぱい。:2012/07/26(木) 16:41:18.81 ID:FpcLvOKZ0
自分の init.el 見て思い出した。
コマンド引数が cp932 決め打ちなんだった。
パイプで渡す内容が utf-8 なのは問題ないとしても grep 'ほげ' は cp932 で渡さないと行けないんだったと思う。
121名無しさん@お腹いっぱい。:2012/07/26(木) 17:17:09.94 ID:rAADqd/n0
・コマンド引数はcp932でなくてはならない
・コマンド引数とプロセスの入力に使うコーディングシステムは、同一でなくてはならない

ということですかね。

コマンド引数のコーディングシステムのみ指定できる変数があればいいのですが..。
122名無しさん@お腹いっぱい。:2012/07/26(木) 17:31:44.18 ID:FpcLvOKZ0
自分のとこも結局関数に advice つけて対処したよ。nkf は流石につかわなかったけど。
こんな感じ。

(defmacro in:set-function-coding-system (function decoding encoding)
"関数使用時のコーディングシステムを設定する.
関数 FUNCTION に対し、実行時に DECODING を `coding-system-for-read' に、
ENCODING を `coding-system-for-write' に設定する advice を作成、活性化する."
`(defadvice ,function (around
,(intern (format "in:ad-%s-coding-setup" function))
activate compile)
,(format "関数実行時のコーディングシステムを以下に置き換える.
`coding-system-for-read': %s
`coding-system-for-write': %s" (eval decoding) (eval encoding))
(let ((coding-system-for-read ,decoding)
(coding-system-for-write ,encoding))
ad-do-it)))

(set-language-environment 'Japanese)
(prefer-coding-system 'utf-8-dos)
(set-file-name-coding-system 'cp932)

(setenv "LANG" "ja_JP.UTF-8")

;; シェルコマンド呼び出しだけ入力をcp932でエンコード
(in:set-function-coding-system shell-command 'undecided 'cp932)
(in:set-function-coding-system shell-command-on-region 'undecided 'cp932)

123名無しさん@お腹いっぱい。:2012/07/26(木) 17:35:10.32 ID:FpcLvOKZ0
加えて grep、lgrep、rgrep にも同様の設定してた。
M-x shell ”以外” を設定しようとしてたって感じだなぁ。

(in:set-function-coding-system rgrep 'utf-8 'cp932)
(in:set-function-coding-system lgrep 'utf-8 'cp932)
(in:set-function-coding-system grep 'utf-8 'cp932)
124名無しさん@お腹いっぱい。:2012/07/26(木) 18:03:28.34 ID:rAADqd/n0
上記の設定だと、漢字の入ったリージョンに対し、

M-| grep 'リージョンにある漢字'

とすると、エラーになりませんか?

grepの入力が、utf-8を期待しているから。
125名無しさん@お腹いっぱい。:2012/07/26(木) 18:18:33.27 ID:FpcLvOKZ0
もう一個抜けてた。
結局その入力のギャップが解決しないから、異なるエンコードのファイルもまとめて検索できる
lv 付属の lgrep を使うようにしてパラメータと入力のギャップを埋めたんだった。
126名無しさん@お腹いっぱい。:2012/07/26(木) 18:28:48.85 ID:rAADqd/n0
やはりそうですよね。
なので、117 に行きついたのでした。M-| sort なども動くので。
でも、なんかエレガントでない。もっといい解決方法がないのかなぁと。
127名無しさん@お腹いっぱい。:2012/07/26(木) 18:32:23.05 ID:FpcLvOKZ0
ちなみに前に話題になったのはこれ
http://d.hatena.ne.jp/whitypig/20111216/1324024458

パッチでも書くしか無いのかしらん
128名無しさん@お腹いっぱい。:2012/07/26(木) 18:56:28.93 ID:rAADqd/n0
>> 127
このページも参考として見ていました。

とりあえず、参考まで現在の私の設定です。

(set-language-environment 'Japanese) ; なくてもいいかも
(prefer-coding-system 'utf-8) ; なくてもいいかも
(set-file-name-coding-system 'cp932)

(setq default-process-coding-system '(utf-8 . cp932))
(modify-coding-system-alist 'process ".*sh\\.exe" '(utf-8 . cp932)) ; 上書き用

;; M-x shell 実行する際に必要な設定
(defadvice shell (around ad-shell activate)
(let ((coding-system-for-write 'utf-8))
ad-do-it))

;; 漢字を含むバッファを入出力として shell コマンドを実行する際に必要な設定
(defadvice call-process-region (before ad-call-process-region activate)
(if (ad-get-arg 7)
(ad-set-arg 7 (concat "nkf -w | " (ad-get-arg 7)))))
129名無しさん@お腹いっぱい。:2012/07/26(木) 19:36:44.16 ID:rAADqd/n0
↑ 以下も最初の方にあったほうがいいですね。
(setenv "LANG" "ja_JP.UTF-8")

gnupackの場合、config.iniでLANGを設定できるので、init.elには書いていないのです。
130名無しさん@お腹いっぱい。:2012/07/26(木) 22:39:05.85 ID:pzO+BvND0
おまいら凄いな−
参考になるのでもっとやってください。
131名無しさん@お腹いっぱい。:2012/07/26(木) 23:19:50.82 ID:TYT5Vlom0
>>130
漢字コードの件は、上記が今の自分の最善解なので、これ以上のネタなし。
その他に参考となりそうな設定なら晒せるけど、そんなんにここ使っていいんかな?
132名無しさん@お腹いっぱい。:2012/07/26(木) 23:25:17.37 ID:wXsUkde+0
イイヨイイヨー
133名無しさん@お腹いっぱい。:2012/07/26(木) 23:43:37.79 ID:TYT5Vlom0
文字制限に引っかかるのでちょびちょびで。いろいろなところで紹介しているもの
ばかりと思うけど。
134名無しさん@お腹いっぱい。:2012/07/26(木) 23:50:41.94 ID:TYT5Vlom0
;; windowsでファイルもしくはディレクトリを開く
(defun winstart (filename)
(interactive)
(w32-shell-execute nil (unix-to-dos-filename filename)))

;; ファイル名称をDOS形式に変換する
(defun unix-to-dos-filename (filename)
(replace-regexp-in-string "/" "\\\\" filename))
135名無しさん@お腹いっぱい。:2012/07/26(木) 23:52:57.51 ID:TYT5Vlom0
;; diredでwindowsに関連付けられたファイルを起動する
(define-key dired-mode-map "z"
'(lambda ()
(interactive)
(winstart (dired-get-filename nil t))))

;; diredで開いているフォルダをMS Explorerで開く
(define-key dired-mode-map "E"
'(lambda ()
(interactive)
(winstart (dired-current-directory))))
136名無しさん@お腹いっぱい。:2012/07/26(木) 23:55:37.33 ID:TYT5Vlom0
;; windowsで開きたいファイルか?
(defun windows-open-file-p (file)
(let (ext)
(if (and (file-regular-p file)
(setq ext (file-name-extension file)))
(progn
(setq ext (upcase ext))
(or
(equal ext "DOC")
(equal ext "XLS")
(equal ext "PDF")
)))))
137名無しさん@お腹いっぱい。:2012/07/26(木) 23:57:40.44 ID:TYT5Vlom0
;; find-fileのアドバイス
(defadvice find-file (around ad-find-file-winstart-setup activate)
(let ((file (ad-get-arg 0)))
(if (windows-open-file-p file)
(winstart file)
ad-do-it)))
138名無しさん@お腹いっぱい。:2012/07/27(金) 00:00:07.56 ID:7yNnR3yv0
;; find-file-other-windowのアドバイス
(defadvice find-file-other-window (around ad-find-file-other-window-winstart-setup activate)
(let ((file (ad-get-arg 0)))
(if (windows-open-file-p file)
(winstart file)
ad-do-it)))
139名無しさん@お腹いっぱい。:2012/07/27(金) 00:01:31.43 ID:PTD5vTzM0
パスの変換は自分はこうやってるなあ。
~/.emacs.d/bin とかを Emacs 上でのみパスに追加とかしたかったので相対→絶対の変換も入れてた。

(defmacro in:system-path (path &optional base)
"PATH をシステムで認識可能なパスに変換する.
PATH が相対パスの場合 `expand-file-name' で絶対パスに変換される.
BASE が non-nil の場合は絶対パス変換時の基準ディレクトリと見なす.
環境変数などの Emacs 外のプログラムに参照される場合に用いる."
(if (eq system-type 'windows-nt)
`(subst-char-in-string ?/ ?\\ (expand-file-name ,path ,base))
`(expand-file-name ,path ,base)))
140名無しさん@お腹いっぱい。:2012/07/27(金) 00:02:52.80 ID:7yNnR3yv0
以上で、dired がファイラみたいになる。とか。

136 の(equal ext "DOC") の行を増やすと、z でなく f や o で起動する
windowsアプリが増える。
141名無しさん@お腹いっぱい。:2012/07/27(金) 00:17:47.91 ID:PTD5vTzM0
equal ext "xxx" の羅列は流石に list と memq 使ったほうがいいんでないの?

(setq external-app-exts '("DOC" "XLS" "VBS")

...

(if (memq ext external-app-exts)
142名無しさん@お腹いっぱい。:2012/07/27(金) 06:34:49.59 ID:7yNnR3yv0
>>141
であれば、memberですかね?
143名無しさん@お腹いっぱい。:2012/07/27(金) 06:37:01.29 ID:7yNnR3yv0
>>139
こちらの方が汎用的ですね。
144名無しさん@お腹いっぱい。:2012/07/27(金) 12:08:12.73 ID:sdXRmEiY0
>>134 をまとめてシンプルにしてみた。

;; windowsでファイルもしくはディレクトリを開く
(defun winstart (filename)
(interactive)
(w32-shell-execute nil (replace-in-string filename "/" "\\\\")))

これで、フォルダでもファイルでも、Windowsのシェルに任せて開くことができる。
"/"の変換をしているのは、ファイルサーバの先のファイルなど、UNCのパスを
開くのに必要だったから。ローカルのファイルなどは、そのままでも開くみたい。
145名無しさん@お腹いっぱい。:2012/07/27(金) 21:12:45.39 ID:PTD5vTzM0
NTEmacs固有の設定ってしてるようで意外としていないなぁ。
region と cua-rectangle の色を SystemHilightText/SystemHighlightにしてWindows標準っぽくしてるぐらいか。
146名無しさん@お腹いっぱい。:2012/07/27(金) 23:57:34.56 ID:7yNnR3yv0
>>145
ntemacs から shell とか使うのに、設定必要ない?
shell 使う人って、あんまりいないんですかね?
147名無しさん@お腹いっぱい。:2012/07/28(土) 00:02:58.84 ID:5LyR8Hfz0
cygwin向けにエンコード設定したり bash じゃなく fakecygpty に差し替えたりとかしてるけど
NTEmacsだからというよりCygwin使うからって感じだしなぁ

あーあと印刷の設定もあるか。
148名無しさん@お腹いっぱい。:2012/07/28(土) 00:16:50.48 ID:Ai+fWoXo0
やっぱりそうですよね。このあたりが、ntemacsを使う敷居を高くしているような
気がする。

shell-mode の割り込みが効かないのにはエライハマって、以下のページでやっと
解決できた。

http://d.hatena.ne.jp/teny/20100830

これと、fakecygptyの差し替え両方で。
149名無しさん@お腹いっぱい。:2012/07/28(土) 00:29:23.06 ID:5LyR8Hfz0
>>148
このブログの設定に加えて、C-d もまともに動かなかったから
(defadvice comint-send-eof (around in:ad-comint-send-eof activate compile)
"直接 C-d を送信."
(process-send-string nil "\C-d"))
も追加してるなぁ

なんか色々不毛だよね
150名無しさん@お腹いっぱい。:2012/07/28(土) 00:36:17.60 ID:Ai+fWoXo0
不毛なの、もう一つ。ssh接続。

ちょっと前まで、plink使っていたけど、>>128 の設定にしてからうまく動かなく
なって、現在ハマリ中。

f_ssh.exe でうまくいきそう。
151名無しさん@お腹いっぱい。:2012/07/28(土) 02:14:14.60 ID:5LyR8Hfz0
設定見るとf_sshの設定やってたわ・・・TRAMP用、マルチホップ非対応のやつ

;; Tramp
(eval-after-load "tramp"
'(progn
(setq tramp-default-method "ssh")
;; fakecygpty 仕様の ssh に置き換え (マルチホップは未検証)
(when (executable-find "f_ssh")
(dolist (m tramp-methods)
(let ((lp (assq 'tramp-login-program m)))
(if (string= "ssh" (cadr lp))
(setcdr lp '("f_ssh"))))))))
152名無しさん@お腹いっぱい。:2012/07/28(土) 08:10:03.04 ID:Ai+fWoXo0
sshの先の漢字がうまくいかない。
153名無しさん@お腹いっぱい。:2012/07/28(土) 21:19:20.70 ID:Ai+fWoXo0
自己解決した。 >>128 の設定に追加。

;; >>128 の設定の.*sh.exeのcoding設定の後に以下を追加
;; この設定により、>>128 に書いた shell のアドバイスが不要となった
(modify-coding-system-alist 'process ".*f_bash\\.exe" '(utf-8 . utf-8))

(setq tramp-default-method "ssh")
(setq tramp-encoding-shell "f_bash.exe")

;; tramp による sshログイン時に漢字がでない原因を排除
;; http://www.gnu.org/software/emacs/manual/html_node/tramp/Remote-processes.html#Running%20a%20debugger%20on%20a%20remote%20host
(let ((process-environment tramp-remote-process-environment))
(setenv "LC_ALL" nil)
(setq tramp-remote-process-environment process-environment))

;; explicit-shell-file-name に f_bash.exe を設定しているので、置き換える
(defadvice shell (around ad-shell-tramp-setup activate)
(if (file-remote-p default-directory)
(let ((explicit-shell-file-name "/bin/bash"))
ad-do-it)
ad-do-it))
154名無しさん@お腹いっぱい。:2012/07/28(土) 21:21:30.87 ID:Ai+fWoXo0
plink も f_ssh も使わなくても動いてしまった。
でも、以下の設定が正しい方法なのか、自身なし。

(setq tramp-encoding-shell "f_bash.exe")
155名無しさん@お腹いっぱい。:2012/07/28(土) 21:22:39.83 ID:Ai+fWoXo0
ついでに、ローカルで shell を使う設定もまとめておく。
>>148 のアドバイスも追加している。

(setq explicit-shell-file-name "f_bash.exe")
(setq shell-command-switch "-c")
(setq shell-file-name "bash.exe")

;; ssh の関数 の実装を流用して乗っ取る
(defadvice comint-interrupt-subjob (around ad-comint-interrupt-subjob activate)
(process-send-string nil "\C-c"))
(defadvice comint-stop-subjob (around ad-comint-stop-subjob activate)
(process-send-string nil "\C-z"))
(defadvice comint-send-eof (around ad-comint-send-eof activate compile)
(process-send-string nil "\C-d"))
156名無しさん@お腹いっぱい。:2012/07/28(土) 21:26:11.29 ID:Ai+fWoXo0
おまけ。

;; 新しくshellを起動する
(global-set-key "\C-cs"
'(lambda ()
(interactive)
(if current-prefix-arg
(shell (generate-new-buffer-name "*shell*"))
(shell))))

C-c s で *shell* バッファがなければ新たに開き、あれば遷移する。
C-u C-c s で、常に新規に shell を開く。開くときに、バッファ名の確認をしない。
157名無しさん@お腹いっぱい。:2012/07/28(土) 21:45:49.84 ID:vdxUByGZ0
shellってcygwinのを使うんですかね?
msysで何とかなりませんか?
158名無しさん@お腹いっぱい。:2012/07/28(土) 21:49:59.74 ID:Ai+fWoXo0
cygwin 付きの gnupack 9.00 でテストをしています。
msys は使っていないのでよくわかりません。 m_O_m
159名無しさん@お腹いっぱい。:2012/07/29(日) 03:15:48.96 ID:+uCMmoi10
>>136
>>141 のアドバイスに従い、見直してみました。

(setq external-app-exts '(
"DOC" "DOCX"
"XLS" "XLSX"
"PDF"
))

;; windowsで開きたいファイルか?
(defun windows-open-file-p (file)
(if (file-regular-p file)
(let ((ext (file-name-extension file)))
(if ext
(if (member (upcase ext) external-app-exts)
t
)))))
160名無しさん@お腹いっぱい。:2012/07/29(日) 10:36:18.59 ID:hvkl+NOR0
シェル絡みだとpop-shellがすごく使いやすい
;; http://www.emacswiki.org/emacs/shell-pop.el
(autoload 'shell-pop "shell-pop" nil t)
(global-set-key (kbd "C-z C-z") 'shell-pop)

C-zC-z でポップアップウィンドウ上でシェルが開いて同じく C-zC-z でシェルの窓だけ閉じる。
ちょっとコマンドラインで何かしたい時にさっとひらけてさっと閉じられるから重宝する。
161名無しさん@お腹いっぱい。:2012/07/29(日) 11:23:30.49 ID:+uCMmoi10
>>160
入れてみた。すごく便利。
162名無しさん@お腹いっぱい。:2012/07/29(日) 12:49:10.91 ID:hvkl+NOR0
cygwinのバージョンあげたら
M-! が ↓の問題にひっかかるようになってうざい
http://stackoverflow.com/questions/9670209/cygwin-bash-does-not-display-correctly-in-emacs-shell
163名無しさん@お腹いっぱい。:2012/07/29(日) 13:19:35.18 ID:hvkl+NOR0
というか >>162 の症状のおかげで gist.el が動かなくなってるよくそう
gist-list するとエラーが出るから見てみると
http -> Request is:
POST /api/v1/xml/gists/bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash:
(ユーザ名) HTTP/1.1

エラーメッセージまでリクエストに含まれてるという・・・・
なんとかして回避できないものか
164名無しさん@お腹いっぱい。:2012/07/29(日) 22:19:13.33 ID:+uCMmoi10
>>162
fakecygpty版のshellを使わずに M-x shell するとでるエラーと一緒だけど、
M-! の時に出るのはなぜだろう?
165名無しさん@お腹いっぱい。:2012/07/29(日) 22:23:57.81 ID:hvkl+NOR0
M-! の時は shell-file-name が使われるからかねえ。
shell-file-name は bash にしている。
f_bash は shell-file-name の方だと機能しないなぁ・・・

fakecygpty の改造でなんとかならないかな。
166名無しさん@お腹いっぱい。:2012/07/29(日) 23:31:16.69 ID:+uCMmoi10
gnupack 9.00 のcygwin を最新状態にして使っているけど、M-! は普通に動く
けどな。

# uname -a
CYGWIN_NT-6.1-WOW64 xxxx 1.7.15(0.260/5/3) 2012-05-09 10:25 i686 Cygwin
167名無しさん@お腹いっぱい。:2012/07/29(日) 23:37:53.96 ID:hvkl+NOR0
なんだろね、発生してる人としてない人の違いは。
EmacsWikiにも載ってるぐらいだから俺だけじゃないことは確かだと思うんだけど。
自分は gnupack は使わず個別に入れてる。

M-x version
GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601) of 2012-06-10 on MARVIN

# uname -a
CYGWIN_NT-6.1-WOW64 XXXXX 1.7.16(0.262/5/3) 2012-07-20 22:55 i686 Cygwin
168名無しさん@お腹いっぱい。:2012/07/30(月) 01:20:02.65 ID:/TxL9z3D0
再度、cygwinを更新してやってみたが、やっぱりならない。

M-x version
GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601) of 2012-06-16 on GNUPACK

# uname -a
uname -a
CYGWIN_NT-6.1-WOW64 hata-THINK 1.7.16(0.262/5/3) 2012-07-20 22:55 i686 Cygwin
169名無しさん@お腹いっぱい。:2012/07/30(月) 01:22:49.19 ID:/TxL9z3D0
emacs から開いた shell で。

# type bash
bash is /usr/bin/bash
170名無しさん@お腹いっぱい。:2012/07/30(月) 09:19:57.67 ID:gRz7kSxb0
そうするとgnupack配布版と公式配布版のコンパイル状況の違いとかもあるのかな?
とりあえずgnupackダウンロードしてみてそちらでも試してみます。
・・・残りダウンロード時間1時間て・・・
171名無しさん@お腹いっぱい。:2012/07/30(月) 10:45:03.18 ID:gRz7kSxb0
回避方法判明しました。
shell-command-switch に i が入ってたのが原因っぽい。
抜いたら当該エラーは出なくなった。
M-!でエイリアス使えなくなるのはちょっとうっとおしいけどバグ修正されるまで我慢の子だな・・・
172名無しさん@お腹いっぱい。:2012/07/30(月) 18:29:47.47 ID:pp0uMeZe0
原因分かって良かったですね。
後学のため。以下の方法で確認すれはよかったようです。

M-x trace-function-background -> shell-command -> RET
M-x trace-function-background -> call-process-region -> RET
M-! -> ls
*trace-output* バッファを見る。-> お互いに比較する。
M-x untrace-all

こんな感じの結果となります。

======================================================================
1 -> shell-command: command="ls" output-buffer=nil error-buffer=nil
| 2 -> call-process-region: start=1 end=1 program="bash.exe" delete=nil buffer=#<buffer *Shell Command Output*> display=nil args=("-c" "nkf -w | ls")
| 2 <- call-process-region: 0
1 <- shell-command: 0

>>117 のテストにもなることが分かりました。


173名無しさん@お腹いっぱい。:2012/07/31(火) 18:02:38.83 ID:T+386KjI0
GNU Emacs 24.1.1 (i386-mingw-nt6.1.7601) of 2012-06-10 on MARVIN です。

http://www.emacswiki.org/emacs/GnusGmail を参照してメールが送れないかと試してるんですが
(gnutls-available-p) が nil の環境だと自分でビルドしないと駄目でしょうか?
174名無しさん@お腹いっぱい。:2012/07/31(火) 18:26:00.52 ID:T+386KjI0
すいまんせん。言葉が足りませんでした。
cygwin の gnutls は入れてあって Gmail を読むことはできています。
175名無しさん@お腹いっぱい。:2012/07/31(火) 19:33:43.93 ID:k0i89/zE0
上記とは直接関係あるかはわからないけど、starttls-available-p の実装があんまりだった

(and (not (memq system-type '(windows-nt ms-dos)))
(executable-find (if starttls-use-gnutls
starttls-gnutls-program
starttls-program))))

Windows がいきなり弾かれてるし。
176名無しさん@お腹いっぱい。:2012/07/31(火) 22:58:16.46 ID:k0i89/zE0
ちなみに gnupack の配布物から gnutls 関係の dll を拾ってきて
GNU 配布版の emacs の bin ディレクトリに放り込んだら
gnutls-available-p は t になったよ。
177名無しさん@お腹いっぱい。:2012/08/01(水) 16:13:47.20 ID:ApV1PNj80
gnupack使うのが一番素直になるかな……
178名無しさん@お腹いっぱい。:2012/08/03(金) 22:16:44.49 ID:tRNxOJGn0
ちょっと前に >>117 の方法を考えたけど、この方法は結局文字化けを回避する
だけの方法で、外部プロセスに UTF-8 の出力はできていなかった。
どうにかならないかと調べていて、こんな方法があることが分かった。

(modify-coding-system-alist 'process ".*sh\\.exe" 'utf-8)
(defadvice call-process-region (before ad-call-process-region activate)
(if (ad-get-args 6)
(ad-set-args 6 (mapcar
'(lambda (arg)
(if (multibyte-string-p arg)
(encode-coding-string arg 'cp932)
arg))
(ad-get-args 6)))))

プロセスへの入出力はUTF-8としたまま、プロセスに渡すパラメータをCP932に
することができた。
179名無しさん@お腹いっぱい。:2012/08/03(金) 22:25:38.07 ID:tRNxOJGn0
上記のやり方を >>122 の内容を参考に、マクロで実現してみた。
intern のあたりの書き方が正しいのか、ちょっと自信なし。

(setenv "LANG" "ja_JP.UTF-8")

(set-language-environment 'Japanese) ; なくてもいいかも
(prefer-coding-system 'utf-8) ; なくてもいいかも
(set-file-name-coding-system 'cp932)

(setq default-process-coding-system 'utf-8)
(modify-coding-system-alist 'process ".*sh\\.exe" 'utf-8) ; 上書き用

;; サブプロセスに渡すパラメータの文字コードを cp932 にする
(defmacro set-function-args-encode (function args-number)
`(defadvice ,function (before ,(intern (concat
"ad-"
(symbol-name function)
"-args-encode-setup"))
activate)
(if (ad-get-args ,args-number)
(ad-set-args ,args-number
(mapcar '(lambda (arg)
(if (multibyte-string-p arg)
(encode-coding-string arg 'cp932)
arg))
(ad-get-args ,args-number))))))

(set-function-args-encode call-process-region 6)
(set-function-args-encode call-process 4)
(set-function-args-encode start-process 3)

180名無しさん@お腹いっぱい。:2012/08/03(金) 22:30:06.32 ID:tRNxOJGn0
これで、かなりの部分からcp932を排除することができた。

cp932で表現できない文字が入ったutf-8のバッファなどへも、M-| sort など
が正しく機能すると思う。M-| grep 'ほげほげ' の 'ほげほげ' の部分は、
cp932で表現できる文字でないとだめだけど、これをどうにかするには、
emacs が動作するコードページをcp932からutf-8に変える必要があるんだと思う。
181名無しさん@お腹いっぱい。:2012/08/03(金) 22:34:39.79 ID:tRNxOJGn0
コマンドプロンプトで、chcp 65001 とすると、コードページをutf-8にする
ことができる。(戻すには、chcp 932)

これと同様なことを emacs.exeでもできれば、完全にcp932を排除することが
できるような気がするんだけど..。
182名無しさん@お腹いっぱい。:2012/08/03(金) 22:36:33.10 ID:tRNxOJGn0
>>179 がうまく動いているかは、>>172 の方法でtraceすると良くわかります。
183名無しさん@お腹いっぱい。:2012/08/03(金) 23:47:16.58 ID:gdCJ+QPk0
これはnkf無しでもいけるってことか。
かなりの最適解じゃないか。

コードページに関してはビルド時に指定はできたんだったかな・・・
184名無しさん@お腹いっぱい。:2012/08/03(金) 23:55:35.15 ID:gdCJ+QPk0
もうプロセスに関しては全部 utf-8 指定で問題なくなるわけだし
prefer-coding-system で utf-8 指定するだけで良くなるわけか。
185名無しさん@お腹いっぱい。:2012/08/04(土) 08:58:14.40 ID:wwAEOj4u0
これgnupackに入ったらいいのになって思ったけど
gnupackはそもそもcp932運用を前提としてるから不要か

もっとも入ってても害はないよね。いかなるコーディングで運用していたとしても
Windows上だとコマンドライン引数はcp932にしなきゃいけないわけだし
186名無しさん@お腹いっぱい。:2012/08/04(土) 10:37:07.77 ID:SXU3HZ2k0
24.1にしてみたけど、ミニバッファのIMEオフが動かなくなってた。
今のところ、不満点はそのくらい。
187名無しさん@お腹いっぱい。:2012/08/04(土) 19:22:11.64 ID:DF9UaZH+0
>>179 に一箇所間違いがありました。

誤: (setq default-process-coding-system 'utf-8)
正: (setq default-process-coding-system '(utf-8 . utf-8))

set- で始まる function の書き方と混同していたようです。
188名無しさん@お腹いっぱい。:2012/08/04(土) 19:28:37.96 ID:wwAEOj4u0
default-process-coding-system は
set-default-coding-systems で、さらには
prefer-coding-system で同時に設定されるから不要じゃない?
189名無しさん@お腹いっぱい。:2012/08/04(土) 19:52:12.50 ID:DF9UaZH+0
C-h C で見てみると、

■ (prefer-coding-system 'utf-8) だけの場合

Defaults for subprocess I/O:
decoding: U -- utf-8-dos (alias: mule-utf-8-dos)

encoding: U -- utf-8-unix (alias: mule-utf-8-unix)


■ さらに (setq default-process-coding-system '(utf-8 . utf-8)) を設定した場合、

Defaults for subprocess I/O:
decoding: U -- utf-8 (alias: mule-utf-8)

encoding: U -- utf-8 (alias: mule-utf-8)


改行の変換が入るのかな? どこかに影響はでないだろうか?
190名無しさん@お腹いっぱい。:2012/08/04(土) 20:59:09.23 ID:wwAEOj4u0
wc -c とかした時に CR とか数えられるのもなんだし外部プロセスが期待してる改行コードに変換するのは妥当だと思うけど
何故に外部システムが LF 改行で決め打ちになってるんだろ。prefer... を utf-8-dos にしようが utf-8-unix にしようが
>>189 と同じになるね。
191名無しさん@お腹いっぱい。:2012/08/04(土) 22:47:19.10 ID:DF9UaZH+0
しばらく、 (setq default-process-coding-system '(utf-8 . utf-8)) なしで、
使ってみよう。これで、あと必要な設定は以下くらいかな。かなりすっきり。

(set-file-name-coding-system 'cp932)
192名無しさん@お腹いっぱい。:2012/08/04(土) 23:16:46.24 ID:WrlxrbSf0
>>190
prefer-coding-systemはdefault-process-coding-systemの改行指定部分
(-unixとか-dosの部分)を変更しないようになってるね。

そして、default-process-coding-systemのデフォルトは
(undecided-dos . undecided-unix)になっていて、
これはw32-fns.elのset-default-process-coding-systemで設定してる。
;; Most programs on Windows will accept Unix line endings on input
;; (and some programs ported from Unix require it) but most will
;; produce DOS line endings on output.
だそうだ。
193名無しさん@お腹いっぱい。:2012/08/05(日) 00:27:57.87 ID:QQcGWr920
>>192
なるほど、環境依存性が強いから初期値決めてあるわけなのね。
ここ数日ので大分文字コード周りがすっきり納得行くようになってる。
陳謝陳謝!
194名無しさん@お腹いっぱい。:2012/08/05(日) 00:31:02.93 ID:QQcGWr920
個人的にはあとは小菊を23以降の仕様に合わせるところだけだ
195名無しさん@お腹いっぱい。:2012/08/05(日) 10:19:30.46 ID:vtNhfpy20
まとめると下記でいいの?

(setenv "LANG" "ja_JP.UTF-8")
(set-language-environment 'Japanese)
(prefer-coding-system 'utf-8)
(set-file-name-coding-system 'cp932)

(setq default-process-coding-system 'utf-8)
(modify-coding-system-alist 'process ".*sh\\.exe" 'utf-8)

(defmacro set-function-args-encode (function args-number)
`(defadvice ,function (before ,(intern (concat
"ad-"
(symbol-name function)
"-args-encode-setup"))
activate)
(if (ad-get-args ,args-number)
(ad-set-args ,args-number
(mapcar '(lambda (arg)
(if (multibyte-string-p arg)
(encode-coding-string arg 'cp932)
arg))
(ad-get-args ,args-number))))))

(set-function-args-encode call-process-region 6)
(set-function-args-encode call-process 4)
(set-function-args-encode start-process 3)
196名無しさん@お腹いっぱい。:2012/08/05(日) 11:00:44.36 ID:Iul6kiCH0
>(setq default-process-coding-system 'utf-8)
>(modify-coding-system-alist 'process ".*sh\\.exe" 'utf-8)
↑がおそらく不要
197名無しさん@お腹いっぱい。:2012/08/05(日) 11:01:25.94 ID:Iul6kiCH0
あとは prefer のところに好きな改行コードの種類を入れたければ入れるぐらいの違いか
198名無しさん@お腹いっぱい。:2012/08/05(日) 11:49:37.65 ID:lb8byn750
>>196
(modify-coding-system-alist 'process ".*sh\\.exe" 'utf-8) の行は、
C-h v process-coding-system-alist とやって、"bash"の行があときは必要と思う。
自分のとこは、以下のような形なので、追加している。
(一番上の行は、上記の設定で追加されたもの)

process-coding-system-alist is a variable defined in `C source code'.
Its value is
((".*sh\\.exe" utf-8 . utf-8)
("bash" raw-text-dos . raw-text-unix)
("[pP][lL][iI][nN][kK]" undecided-dos . undecided-dos)
("[cC][mM][dD][pP][rR][oO][xX][yY]" undecided-dos . undecided-dos))
199名無しさん@お腹いっぱい。:2012/08/05(日) 11:51:27.75 ID:lb8byn750
もう一つの方法として、"bash"の行を削除してもよいと思う。

(setq process-coding-system-alist (delq (assoc "bash" process-coding-system-alist) process-coding-system-alist))
200名無しさん@お腹いっぱい。:2012/08/05(日) 11:55:09.14 ID:lb8byn750
gnupack で提供されているinit.elには、@ shell のカテゴリのところに、
(modify-coding-system-alist 'process ".*sh\\.exe" 'cp932)
の設定があるので、コメント化する必要がある。

また、shell-mode-hook の設定もあるけれども、これもコメント化している。
201名無しさん@お腹いっぱい。:2012/08/05(日) 12:12:28.01 ID:Iul6kiCH0
なるほど、公式配布版だともともとはいってないからいいけど
gnupack 版だと初期設定を書き換える必要があるわけね。
202名無しさん@お腹いっぱい。:2012/08/05(日) 12:22:59.39 ID:lb8byn750
gnupackにはとても感謝している。init.elを含むもろもろの設定をゼロから
するのであれば、emacsのユーザにはなっていなかったように思うので。
203名無しさん@お腹いっぱい。:2012/08/05(日) 12:35:17.88 ID:Iul6kiCH0
cygwin も含めて落として展開するだけですぐ使える上環境汚さないからお試し導入も出来るってのもいいよね。
母艦はもともと cygwin 環境整えてたから NTEmacs 使ってるけど
サブではお手軽に gnupack 使わせてもらってるわ。
204名無しさん@お腹いっぱい。:2012/08/05(日) 13:19:04.46 ID:8NcRpAwD0
設定削っていったらGNU謹製でもフォント設定以外なくても大分使えると分かった
205名無しさん@お腹いっぱい。:2012/08/05(日) 13:39:28.08 ID:lb8byn750
>>153 の設定で、
Symbol's value as variable is void: tramp-remote-process-environment
ってエラー出てる人いるかな。以下の設定にするとうまくいくかも。

(eval-after-load "tramp-sh"
'(let ((process-environment tramp-remote-process-environment))
(setenv "LC_ALL" nil)
(setq tramp-remote-process-environment process-environment)))
206名無しさん@お腹いっぱい。:2012/08/05(日) 16:07:22.08 ID:Iul6kiCH0
>>204
IME も GoogleIME とかだとパッチなしでもなんとか運用出来るんだよね。
207名無しさん@お腹いっぱい。:2012/08/08(水) 00:41:28.39 ID:JLPuMljA0
こんにちは。Emacs 24.1(gnupackからpatchをいただいてWindows XP SP3上で自分でビルドしたもの)で
jaspace.elを使っていらっしゃる方はいますか?
(require 'jaspace)
でjaspaceを読み込んで、jaspaceを使うモードを
(setq jaspace-modes (append jaspace-modes
(list 'php-mode
'javascript-mode)
と設定して、表示する記号を下記のように設定しているのですが、
(setq jaspace-alternate-jaspace-string "□"))
(setq jaspace-alternate-eol-string "\n"))
(setq jaspace-highlight-tabs ?^))
表示がうまくいきません。□が消えてしまったりします。
もし何か対策をご存じの方がいらっしゃったらアドバイスお願いします。
208名無しさん@お腹いっぱい。:2012/08/10(金) 14:19:55.81 ID:mOtZErrd0
24.1だとフォントの設定を何にもしなくても日本語が表示されるんだな
メイリオだからあんま意味ないけど
209名無しさん@お腹いっぱい。:2012/08/10(金) 21:33:06.36 ID:h/aqy/WE0
おお、ほんとだ
無設定の状態で「ー」も「□」にならずに表示されるな
210名無しさん@お腹いっぱい。:2012/08/15(水) 16:43:31.56 ID:ICueTD1k0
64bit ビルドが make bootstrap 一発で通らないのが気になりますが…
ビルドできればとりあえず動いているようです^^;

テンプレのGNU emacs(x64)に添付のパッチを元に mingw-w64 (32bit, 64bit)
でビルドできるようにしてみました。
w64 でない tdm-gcc 32bit (mingw32) でも一応ビルドできます。

ダイナミックロード機能はうまく動かせなかったので入っていません。

emacs-24.1 用。使用した gcc, 画像ライブラリなどは zip 内の README.txt
をみてください。

http://www1.axfc.net/uploader/File/so/82434
211名無しさん@お腹いっぱい。:2012/08/19(日) 19:02:14.90 ID:oXpbEM+l0
GNUPACKのemacs24.1.1を使ってます
flymakeでgccの代わりにcl.exeを使うように設定して、呼び出しはちゃんとできているようなのですが、エラーメッセージが文字化けして読めません(「\203I\203v」とかって感じになる)
どうにかして治す方法って無いですか
212名無しさん@お腹いっぱい。:2012/08/19(日) 21:24:32.54 ID:OcmT3rXh0
(modify-process-coding-system-alist "cl\\.exe" 'cp932) とかでなんとかならんかね
213211:2012/08/19(日) 23:58:20.84 ID:oXpbEM+l0
>>212
(modify-process-coding-system-alist "cl\\.exe" 'cp932)
だと通らなかったので
(modify-coding-system-alist 'process "cl\\.exe" 'cp932)
としてみましたが、通りはしても症状変わらずでした…
214名無しさん@お腹いっぱい。:2012/08/20(月) 09:54:35.03 ID:sJr6RB+A0
'cp932 を 'undecided にしてみたら?
215名無しさん@お腹いっぱい。:2012/08/20(月) 09:57:05.96 ID:sJr6RB+A0
あぁ、それか、cmdproxy.exe で cl.exe を間接的に呼び出しているから、
"cl\\.exe" を "cmdproxy\\.exe" にすると、うまく行くとか?
216名無しさん@お腹いっぱい。:2012/08/20(月) 10:46:22.08 ID:sJr6RB+A0
"cl\\.exe" → "cl\\(\\.exe\\)?" かな?
217名無しさん@お腹いっぱい。:2012/08/20(月) 17:32:12.80 ID:/oUjdjxm0
lpr-buffer しようとすると c:\ 直下にスプールファイルか何か作ろうとするせいで
Permission Denied になってしまう

違う場所に書き出す設定でもないかと思ってみてみても
(safe-dirs (list "c:/" (getenv "windir") (getenv "TMPDIR"))) とかハードコーディングされててオワタ
218名無しさん@お腹いっぱい。:2012/08/20(月) 17:51:03.33 ID:He9rv5XZ0
何もオワッテいない
elispでハードコードされてる部分なら、自分で好きなように修正すればいいだろ
ぶっちゃけ個人環境なら、lispディレクトリ直下をそのままいじってもいい
219名無しさん@お腹いっぱい。:2012/08/20(月) 17:57:08.15 ID:/oUjdjxm0
標準配布されてるのを上書き等でいじるのはやだよ。
hook や advice で直せない時点でもうだめだわ。
関数丸コピーで一部変えて再定義も気持ち悪い。

つか c:/ とかハードコードすんなよなぁ・・・
220211:2012/08/20(月) 21:44:55.61 ID:sT/hXn3R0
>>216
それでうまくいきました!
回答どもです
221名無しさん@お腹いっぱい。:2012/08/21(火) 20:02:36.77 ID:dKidsIbM0
cygwin の bash + ansi-term がちゃんと使えてる人居ます?
f_bash 入れてもとてもまともに動いてるとは言いがたい・・・
shell-mode で大抵のことは出来るからそう困ったりはしないけど
ちゃんと動かせるなら動かしてみたい
222名無しさん@お腹いっぱい。:2012/08/23(木) 09:33:49.33 ID:vheo1xaG0
w32-symlinks.el は結構内容古いんだな
insert-file-contents-literally とかの低レベル関数定義をまるっと置き換えしてるけど
w32-symlinks のは古い版のだからか暗号化ファイルとか読み込み出来ないままになってる
223名無しさん@お腹いっぱい。:2012/08/23(木) 19:14:48.22 ID:VEO4vW+O0
>>179 の発展系として、以下のマクロを考えてみた。

(defmacro set-function-args-coding-system (function program-number args-number)
`(defadvice ,function (around ,(intern (concat
"ad-"
(symbol-name function)
"-function-args-coding-sytem-setup"))
activate)
(let ((program (ad-get-arg ,program-number)) (args (ad-get-args ,args-number)))
(if (and program args)
(progn
(ad-set-args ,args-number (mapcar '(lambda (arg)
(if (multibyte-string-p arg)
(encode-coding-string arg 'cp932)
arg))
args))
(if (and (equal program shell-file-name) (equal (car args) shell-command-switch) (cdr args))
(let ((process-coding (assoc-default (cadr args) process-coding-system-alist 'string-match)))
(if process-coding
(let ((coding-system-for-read (car process-coding))
(coding-system-for-write (cdr process-coding)))
ad-do-it)
ad-do-it))
ad-do-it))
ad-do-it))))
224名無しさん@お腹いっぱい。:2012/08/23(木) 19:15:48.72 ID:VEO4vW+O0
設定は以下で行ってください。説明は次に。

(set-function-args-coding-system call-process-region 2 6)
(set-function-args-coding-system call-process 0 4)
(set-function-args-coding-system start-process 2 3)
225名無しさん@お腹いっぱい。:2012/08/23(木) 19:17:03.45 ID:VEO4vW+O0
(説明)
process-coding-system-alist は、shell-command などでshell経由(bash -c xxx)で
起動されるプロセスには機能しない。上記は、これを有効にするアドバイス。

たとえば、M-! ipconfig とやると、プロセスの入出力の設定を UTF-8 にしているユーザは
文字化けするけれども、上記のアドバイスを設定し、さらに以下を設定しておくと、文字化けは
しなくなる。

(modify-coding-system-alist 'process "ipconfig" 'cp932)
226名無しさん@お腹いっぱい。:2012/08/23(木) 19:27:56.07 ID:vheo1xaG0
ad-do-it が4つ並んでるのがなんか笑えるけどこれはなかなかよいね。
Windows 側の javac とかも文字化けしないで済むようになった。GJ!
227名無しさん@お腹いっぱい。:2012/08/23(木) 19:35:34.51 ID:vheo1xaG0
と思ったけど (setq default-process-coding-system '(undecided . utf-8)) でもいいような気もする
228名無しさん@お腹いっぱい。:2012/08/23(木) 19:44:23.09 ID:vheo1xaG0
shell-mode で ck とかの国際化端末みたいにコマンド毎の文字コード自動認識する方法ないもんかねえ。
ck だと windows 版の javac と utf-8 なファイルの cat のどちらも文字化けしないんだけど
shell-mode だと先に表示した方のエンコードに縛られちゃって後からの出力が文字化けしちゃう
229名無しさん@お腹いっぱい。:2012/08/23(木) 20:49:02.41 ID:VEO4vW+O0
>>228
仕組みはこんな感じ?
(defadvice comint-send-input (before ad-comint-send-input activate)
(set-process-coding-system (get-process "shell") 'undecided 'utf-8))
230名無しさん@お腹いっぱい。:2012/08/23(木) 20:50:14.75 ID:VEO4vW+O0
>>227
ほんとだ。がっがり。でも、勉強となったし、この情報を教えてもらう
ネタになったからいいか。

>>223 の利点は、標準入力をコントロールできることくらいかな。
231名無しさん@お腹いっぱい。:2012/08/23(木) 21:45:52.80 ID:vheo1xaG0
>>229
おおお素晴らしい!
shell-mode で utf-8 と cp932 が共存出来たよ!ありがとう!
今月先月と shell 絡みの言語処理が大分改善されたなあ
232名無しさん@お腹いっぱい。:2012/08/23(木) 21:58:24.86 ID:vheo1xaG0
process-coding-system に *-dos とか *-unix とか付けない場合と付ける場合でやっぱり微妙に挙動かわるね
改行コード付けない場合だと余計な CR が入力で渡されちゃうことがあった

prefer-coding-system に習って w32-fns.el の設定を壊さないよう↓みたいにしたほうがいいかも
default-process-coding-system の設定も同様で。〜-dos . 〜-unix の決め打ちでもよさそうではあるけど。

(set-process-coding-system (get-process "shell")
(coding-system-change-text-conversion
(car default-process-coding-system) 'undecided)
(coding-system-change-text-conversion
(cdr default-process-coding-system) 'utf-8))
233名無しさん@お腹いっぱい。:2012/08/23(木) 23:13:29.37 ID:VEO4vW+O0
おぉ、勉強になるなぁ。
最近、文字化けした漢字を見なくなった。

234名無しさん@お腹いっぱい。:2012/08/24(金) 12:11:59.04 ID:tL27xpHO0
>>232
整理してみました。
(defadvice comint-send-input (before ad-comint-send-input activate)
(let ((process (get-buffer-process (buffer-name))))
(if (and process
(string-match "shell" (process-name process) 0))
(let ((coding-system (process-coding-system process)))
(set-process-coding-system process
(coding-system-change-text-conversion
(car coding-system) 'undecided)
(cdr coding-system))))))
235名無しさん@お腹いっぱい。:2012/08/25(土) 02:08:37.39 ID:qumDhbfJ0
本家は24.2rc2でたのか。
そろそろgnupack emacsも24.2でるかな?
236名無しさん@お腹いっぱい。:2012/08/25(土) 09:35:58.27 ID:UggnHG0t0
何が変わったのかなと思ったら
この間の脆弱性を修正した奴なのね。
237名無しさん@お腹いっぱい。:2012/08/26(日) 22:29:43.63 ID:rWgT4mEk0
レジストリでフォントを指定する方法で、 set-fontset-font みたいに範囲や charset 毎のフォント設定までする方法ってありますかね?


238名無しさん@お腹いっぱい。:2012/08/28(火) 21:39:30.60 ID:voUj3lot0
"GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) of 2011-08-15 on GNUPACK"を使っています。
auto-install-batch [RET] anythingとしてインストールしました。
C-sのisearchがうまく動かなくなってしまいました。
[MIGEMO] I-search: と出るのですが、そこに文字を入力しても全く何にも該当しません。
239名無しさん@お腹いっぱい。:2012/08/28(火) 21:42:31.74 ID:voUj3lot0
忍法帳規制により連レススマソ。

ttp://d.hatena.ne.jp/rubikitch/20071225/anythingmigemo
に同じ症状の人がいたのですが、解決法はわかりませんでした。

どなたか解決法が分かる方はいらっしゃいませんでしょうか?
240名無しさん@お腹いっぱい。:2012/08/28(火) 21:52:03.05 ID:ArNQXM+W0
windows7すげえな
何の設定もしてないのにHELLOファイルのうちBurmeseとOriya以外の書体をちゃんと表示しとる
241名無しさん@お腹いっぱい。:2012/08/30(木) 07:43:44.25 ID:d0emZBeJ0
gnupack_devel-9.01使用

新規ファイルをバッファで開くために emacsclientの設定をしたけど
上手くいきません。
init.elに(server-start)

Win環境変数に
変数名: EMACS_SERVER_FILE
変数値: (gnupackを解凍したディレクトリ)\home\.emacs.d\server\server
追加

で、起動すると

Warning (initialization): An error occurred while loading `c:/home/bin/gnupack_devel-9.01/home/.emacs.d/init.el':

error: The directory `~/.emacs.d/server' is unsafe

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.

て出てしまいます。

・・・助けて
242241:2012/08/30(木) 07:46:34.25 ID:d0emZBeJ0
連投スマソ
これが解決したら本格的にxyzzyから移行するんですが・・・
やっぱし本家使いたいし
243名無しさん@お腹いっぱい。:2012/08/30(木) 08:04:47.55 ID:xq6Dg/Ee0
xyzzy はもはや emacs とは別物では。
あっちはあっちでなかなか良いものだと思う
244名無しさん@お腹いっぱい。:2012/08/30(木) 08:09:40.60 ID:kSJtzAJI0
serverのプロパティ => 詳細設定 => 所有者
で所有者の変更
245名無しさん@お腹いっぱい。:2012/08/30(木) 14:06:52.71 ID:d0emZBeJ0
>>244
ありがとう。何とか動くようになりました。
vista以降の所有権うんぬんは本当に使いにくいです。

>>243
そうですね。winネイティブなアプリなんで動きも軽いですしずっと愛用してます。
実はhowmを使い出したんですが、howm-wrapは1.1.0.3までの対応で
パッチを当てると1.2.1も使えるみたいなんですがうまくパッチ当てできなくて、
それなら本家の最新版が使いたいということで。

あと、過去何回もemacsに挫折してたんで、この機にと思いまして。
246238:2012/08/30(木) 17:13:33.83 ID:LMMHK4kQ0
anything-startup.elを読んでいたら

;;; If you use Japanese, you should install Migemo and anything-migemo.el.
;;;
;;; Migemo http://0xcc.net/migemo/
(and (equal current-language-environment "Japanese")
(require 'anything-migemo nil t))

という記述が、、コメントアウトしたらうまくC-sできるようになりました。
「外部プロダクトを別途手動でインストールしなければ、C-s自体が動かなくなる」
そういう事を注釈なしにしないで欲しいなぁ。
247名無しさん@お腹いっぱい。:2012/08/30(木) 20:33:46.30 ID:xq6Dg/Ee0
確かに。
インストール済みかチェックした上で挙動が勝手に変わるならともかく。
248名無しさん@お腹いっぱい。:2012/09/01(土) 08:38:51.71 ID:sR2H82Wv0
現状の ntemacs って何の設定もしなくてもそれなりに使える状況になるんだなあ。
language environment も勝手に Japanese になってるしフォントも普通に表示されるし
cygwin 等を使ってないなら無設定で文字化けも全然しない
249名無しさん@お腹いっぱい。:2012/09/01(土) 11:46:55.79 ID:bBTMhWjp0
今設定なしで使ってみてる
.skkがあるから厳密には違うけど
250名無しさん@お腹いっぱい。:2012/09/01(土) 19:45:36.78 ID:sR2H82Wv0
tem/bobcat のロードはやめられそうにもないけどね・・・
251名無しさん@お腹いっぱい。:2012/09/03(月) 21:30:35.76 ID:JSCr3tu10
ntemacsでansi-term使ってる方はいらっしゃいますか?
fakecygpty 使うことで大分ましにはなったのですが細かい設定がまだよくわかりません。
やってることは、UTF-8で動作させるために
default-process-coding-system を '(undecided-dos . utf-8-unix) に、
locale-coding-system を utf-8 に設定しているのと、
M-x ansi-term 後に stty echo -igncr しているぐらいです。

この状態だとファイル名表示や enter で改行は問題ないんですけど
C-h でのバックスペースや C-a での行頭移動がちゃんと表示されないんですよね
252名無しさん@お腹いっぱい。:2012/09/07(金) 21:47:30.61 ID:36K9zv/X0
NTEmacs で key-chord.el を使ってる人に聞きたいです.
日本語入力がオンになっている時には key-chord の
同時押しキーバインドが実行できないんですが,これは
Windows の IME に渡している以上避けられないものですかね?

Linux のほうで ibus.el で日本語入力していると,日本語入力が
オンになっていても key-chord キーバインドが動いてくれるのですが.
253名無しさん@お腹いっぱい。:2012/09/11(火) 06:40:46.68 ID:7ynZXh8B0
すみません
23系でレンダリングの遅さに辟易してWinのEmacsから遠ざかっていたのですが、
24では遅くないでしょうか?
254名無しさん@お腹いっぱい。:2012/09/11(火) 08:11:51.06 ID:SD7lSKMZ0
基準がわからないんでなんとも。体感は人それぞれだろうし。
特別なインストール作業もないんだし試してみたほうが早いと思う。
255名無しさん@お腹いっぱい。:2012/09/11(火) 12:56:48.65 ID:qr0rUfSf0
何のレンダリングを指しているのか確信ないが、こちらはemacs-w3mからw3mを使用、mewでhtmlをインライン表示。
dosアプリのw3mではさっと整形後表示となるが、cygwin版w3mだと止まったかのような状態が数十秒のときあり。
23系、24系とも。24系では若干速いか?という程度。
256名無しさん@お腹いっぱい。:2012/09/11(火) 13:15:41.07 ID:y+6sQ3rd0
windowsでこまめに外部プロセス木戸するようなもの速度はあきらめた方がいい。
grep-find 使うにしても -exec ではなく xargs 使うようにすると桁違いに早くなる。
257名無しさん@お腹いっぱい。:2012/09/11(火) 13:22:08.09 ID:SD7lSKMZ0
w32-pipe-read-delay の調整で早くなるのは emacs からプロセス連続で呼び出す場合ぐらいだったっけ
258名無しさん@お腹いっぱい。:2012/09/12(水) 11:09:51.14 ID:L0qB7PQr0
>>256
もう少し解説・例示があるとありがたく。
259名無しさん@お腹いっぱい。:2012/09/12(水) 12:55:53.01 ID:JZ/rGm5z0
grep-find で xargs つかうには grep-find-use-args を non-nil にすりゃいい。
もちろん cygwin とか導入してないと xargs もないだろうけど。

-exec だとファイルごとに grep が起動されるけど、
xargs だと引数として渡せるだけの限界の長さまで詰め込んで grep を起動するから
プロセス起動回数が段違いに減る。
Windows 環境は理由は忘れたけどプロセス起動がおっそいから違いが顕著に現れる。
#fork がちゃんと実装出来てないから遅いんだっけ?
260名無しさん@お腹いっぱい。:2012/09/12(水) 12:56:29.37 ID:JZ/rGm5z0
変数名まちがった
grep-find-use-xargs ね。
261名無しさん@お腹いっぱい。:2012/09/12(水) 18:03:17.00 ID:1LfMKSS/0
すみません
gnupack + ntemacsって、
cygwinのgcc使用して、cygwinのライブラリ使用しているバイナリでしょうか?
そうだとしたらパフォーマンスに問題ないでしょうか?
262名無しさん@お腹いっぱい。:2012/09/12(水) 18:37:28.44 ID:+4u2jAbS0
gnupackのntemacsはcygwinのライブラリを使用してない
パフォーマンスに問題あるかどうかを判断できるのは自分だけだ
263名無しさん@お腹いっぱい。:2012/09/14(金) 19:16:46.31 ID:a/ZKwYFf0
trampを>>153の設定で使っているだが、サイズのデカいファイルのコピーが遅い。
調べてみると、tramp-methodのsshはインラインメソッドでファイルをコピーしてるとのこと。
http://www.bookshelf.jp/texi/tramp/tramp_ja_4.html
では、tramp-methodにscpを使ってみようとやってみたが、うまく動かない。
パスにドライブの指定があって、そこにコロンが入っているからscpが混乱しているらしい。
http://www.bookshelf.jp/texi/tramp/tramp_ja_4.html#SEC17

ということで、いつものadviceを考えてみた。(改行オーバーとのことで、つぎへ)
もうちょっと改善できそうな気もするが、とりあえずこれでデカいファイルもさくさくコピーできる。
264名無しさん@お腹いっぱい。:2012/09/14(金) 19:17:34.54 ID:a/ZKwYFf0
(require 'tramp)
(setq tramp-default-method "scp")
(setq tramp-encoding-shell "f_bash")
(setq tramp-program-list '("ssh" "scp" "rsync"))

;; プロセスを起動するプログラムを fakecygpty 版のものに変更し、パスのドライブの表記方法を変更する
(defmacro tramp-adjust-process-args (function program-number args-number)
`(defadvice ,function (before ,(intern (concat
"ad-"
(symbol-name function)
"-tramp-adjust-process-args"))
activate)
(if (member (replace-regexp-in-string "\\.exe$" "" (ad-get-arg ,program-number))
tramp-program-list)
(progn
(ad-set-arg ,program-number
(concat "f_" (ad-get-arg ,program-number)))
(if (ad-get-args ,args-number)
(ad-set-args ,args-number
(mapcar '(lambda (arg)
(replace-regexp-in-string "^\\([A-Za-z]\\):" "/\\1" arg))
; 環境によっては、上記の行を以下に置きかえる。gnupack with cygwin は上記でOK
; (replace-regexp-in-string "^\\([A-Za-z]\\):" "/cygdrive/\\1" arg))
(ad-get-args ,args-number))))))))

(tramp-adjust-process-args call-process 0 4)
(tramp-adjust-process-args call-process-region 2 6)
(tramp-adjust-process-args start-process 2 3)
265名無しさん@お腹いっぱい。:2012/09/14(金) 20:45:06.45 ID:jTBBk0z70
正規表現より cygpath 使ったほうがどの環境でも動いて完璧じゃない?
一々プロセス起動するって難点はあるけど。
あとは internal な変数使うことになるけど (featurep 'cygwin-mount) が t なら
cygwin-mount-cygdrive-prefix--internal を使うとか。
266名無しさん@お腹いっぱい。:2012/09/14(金) 21:01:46.32 ID:a/ZKwYFf0
>>265
cygwin-mount-cygdrive-prefix--internalってのがあるんですね。
でも、自分の環境(gnupack with cygwin 9.00)だと、 (featurep 'cygwin-mount) が t
で、cygwin-mount-cygdrive-prefix--internalが/cygdrive/を返すけど、/cygdrive
が使えない。どこか設定が変なんだろうか..。
cygpathはちょっと考えたけど、正規表現が軽くていいかなぁと。
引数の数、変換掛けているので。そこを直さなきゃだめか..。
267名無しさん@お腹いっぱい。:2012/09/14(金) 21:12:58.56 ID:jX1g0y8U0
gnupackは内部的に「mount -c /」を実行していて
「/cygdrive」じゃなくて「/」になってます

例えば C:ドライブの場合「/cygdrive/c」じゃなくて「/c」という感じ
268名無しさん@お腹いっぱい。:2012/09/14(金) 21:19:18.43 ID:a/ZKwYFf0
>>267
そうなのですね。emacsから cygpath -uを呼んだ結果は、使えるパスが返って
くるってことでいいんですかね? やっていると、/c/... とはなりました。
269名無しさん@お腹いっぱい。:2012/09/14(金) 21:36:14.48 ID:jX1g0y8U0
gnupackインストール直下の emacs.exeから起動した場合も
「mount -c /」が有効な状態です.

なので,emacs上でも「cygpath -u 'C:\WINDOWS'」とか
実行すると「/c/WINDOWS」になります
270名無しさん@お腹いっぱい。:2012/09/14(金) 21:51:19.59 ID:a/ZKwYFf0
>>269
ありがとうございます。
>>265
cygpath版考えてみました。mapcarの部分だけ。なんか、エレガントじゃない..。
(mapcar '(lambda (arg)
(if (string-match "^\\([A-Za-z]\\):/" arg)
(replace-regexp-in-string "\n" "" (shell-command-to-string (concat "cygpath -u " arg)))
arg))
(ad-get-args ,args-number))
271名無しさん@お腹いっぱい。:2012/09/14(金) 21:56:13.00 ID:a/ZKwYFf0
ディレクトリ名やファイル名に空白が入っている場合の対策が必要か。
(replace-regexp-in-string "\n" "" (shell-command-to-string (concat "cygpath -u '" arg "'")))
272名無しさん@お腹いっぱい。:2012/09/14(金) 21:59:02.99 ID:jTBBk0z70
最後に改行入っちゃうのがなんともね・・・
elisp に chomp みたいなのあったっけ。
cygpath が必ず改行付けて返すって前提にしちゃえば
(substring (shell....) 0 -1) でもいい気がする
273名無しさん@お腹いっぱい。:2012/09/14(金) 22:04:13.61 ID:a/ZKwYFf0
>>272
ファイル名に改行が入っている可能性を考えると、こちらの方が正解かも。
改行が入ったファイルをemacsが正しくハンドリングできるかは確認していなけど。
274名無しさん@お腹いっぱい。:2012/09/14(金) 22:13:34.86 ID:a/ZKwYFf0
今まで投稿した設定例を以下にまとめています。
http://www49.atwiki.jp/ntemacs/
「おまけ」も使えると思います。
275名無しさん@お腹いっぱい。:2012/09/14(金) 22:17:03.25 ID:jTBBk0z70
ためしに find-find 中に C-q C-j して改行含むファイルつくってみたけど
セーブで普通にコケるから emacs は改行含むファイルは無理って思ったほうがいいような。
bash で touch 'hoge(改行)hoge.txt' したファイルを dired で見るとなぜかショートネーム形式の hogeho~1.txt になってるし。
276名無しさん@お腹いっぱい。:2012/09/14(金) 22:25:11.83 ID:jTBBk0z70
あとは ansi-term が完璧ならなあ
(setq locale-coding-system 'utf-8) と
f_bash 使うことと
起動してから stty echo -igncr することまではたどり着いたけど
C-a や C-h を正しく処理するのとかリサイズへの対応が全然だめだ
277名無しさん@お腹いっぱい。:2012/09/14(金) 22:37:27.45 ID:jX1g0y8U0
>>274
Good Job!!

是非,参考にさせてもらいます
278名無しさん@お腹いっぱい。:2012/09/14(金) 23:06:35.75 ID:jHD4M+TC0
>>274 のおまけのコメントに書き忘れていた。今、追加した。
;; ・Windows に ESC を入力するときは、ESC を二回入力する。
使う人がいればですが..。
279名無しさん@お腹いっぱい。:2012/09/14(金) 23:30:08.26 ID:jHD4M+TC0
>>275
だめですね。cygwin上ではちゃんと認識されているようですが。
でも、substring版で使うことにしました。
280名無しさん@お腹いっぱい。:2012/09/14(金) 23:51:36.49 ID:jHD4M+TC0
>>276
ansi-termはピクリともしません。調べれば何かわかるかなぁ..。
281名無しさん@お腹いっぱい。:2012/09/15(土) 08:50:16.92 ID:+5vx7aTv0
termcap とか terminfo とか pty とかの unix の端末制御システムと
windows のそれとの違いを勉強すればなんとかなるか・・・?
282名無しさん@お腹いっぱい。:2012/09/15(土) 23:29:35.24 ID:7NrYLK7j0
NTEmacsのアイコンを本家の青色のに変えたい
283名無しさん@お腹いっぱい。:2012/09/16(日) 08:21:36.82 ID:dis7e59k0
gnupack 版 NTEmacs のアイコンのこと言ってるの?
284名無しさん@お腹いっぱい。:2012/09/21(金) 20:26:18.05 ID:ie6XpqLV0
>>264 のあたりで考えたtrampの設定は便利だけど、デカいファイルをコピー
するたびにパスワードを聞かれる。なので、ssh-keygenで作成した公開鍵と
ssh-agentを使って、初回一回のみパスフレーズを入力すれば、以降パスフレーズ
を聞かれないようにしてみた。パスフレーズを入力しないで鍵を作る方法が
簡単だけど、セキュリティ的に好ましくないので、今回の方法は使えると思う。
設定方法はこちらにまとめた。
http://www49.atwiki.jp/ntemacs/pages/21.html
285名無しさん@お腹いっぱい。:2012/09/21(金) 20:28:47.45 ID:ZhMoKz6X0
やっぱ NTEmacs で ssh-agent 使おうと思うとラッパースクリプト作るしかないよねえ
286名無しさん@お腹いっぱい。:2012/09/21(金) 22:05:31.04 ID:MzXDesl90
一度起動したssh-agentは、emacs 落としても動いているですね。
なんか不思議。あと、環境の設定によっても違うんだと思うんだけど、
シェルスクリプトが#! で始まると勝手に実行モードがついたファイルに
なるんですね。これも不思議。
287名無しさん@お腹いっぱい。:2012/09/21(金) 22:42:11.35 ID:MzXDesl90
>>284
~/bin/ssh_agentは不要だったので整理(削除)しました。
288名無しさん@お腹いっぱい。:2012/09/21(金) 23:19:43.13 ID:+S4b09OT0
tramp は plink で困らないなあ
289名無しさん@お腹いっぱい。:2012/09/21(金) 23:39:20.79 ID:MzXDesl90
plinkは、サイズのでかいファイルのコピー遅くない?
pscpってのを使えばいいのかな。
290名無しさん@お腹いっぱい。:2012/09/21(金) 23:52:18.05 ID:+S4b09OT0
ああ、そういう流れの話か。ごめん
でかいファイルのコピーとかはしてないんで分からない
公開鍵なら Pagent で楽にできるというだけでした
291名無しさん@お腹いっぱい。:2012/09/22(土) 00:00:58.47 ID:jdlrAMr90
pagentというのがあるんですね。trampには、pscpというmethodがあるので、
これとpagentを一緒につかえば、scp method+ssh-agentと同じようなことが
できるんだと思います。
292名無しさん@お腹いっぱい。:2012/09/22(土) 09:22:07.27 ID:2e8bjVRX0
pagent は windows と親和性が高いから鍵管理に無理がなくていいよね。
他のソフトも使えるからパスフレーズ入力が本当に一回ですむ
293名無しさん@お腹いっぱい。:2012/09/22(土) 12:43:59.73 ID:jdlrAMr90
tramp-methodにpscpを使って、何の苦も無く動きました。
scpのパスの変換も必要ないし、こちらの方法を使う方が普通なんでしょうね。
294名無しさん@お腹いっぱい。:2012/09/22(土) 16:35:57.05 ID:txIvn96G0
デカいファイルの転送性能を測ってみた。
サーバは、Redhat系Linux。NICはサーバ、クライアントどちらも1G。
・putty同梱のpscp : 70Mbps程度
・WinSCP : 110Mbps程度
・scp : 450Mbps程度
cygwinのscpはすごい性能でびっくりしました。NICの性能をフルに使っています。
cygwin、侮れないです。
295名無しさん@お腹いっぱい。:2012/09/22(土) 17:54:23.68 ID:2e8bjVRX0
転送時の圧縮率とかの設定の違いじゃない?
296名無しさん@お腹いっぱい。:2012/09/22(土) 19:23:51.87 ID:jdlrAMr90
ネットで調べるとcygwinのscpが速いというよりもWinSCPが遅いということみたいですね。
297名無しさん@お腹いっぱい。:2012/09/23(日) 15:18:45.96 ID:cBpq1iMmP
emacs-24.2-20120922.exe
298名無しさん@お腹いっぱい。:2012/09/23(日) 18:15:39.68 ID:c/6dfbga0
emacsからlocateを使う方法をまとめてみた。
http://www49.atwiki.jp/ntemacs/pages/22.html
299名無しさん@お腹いっぱい。:2012/09/23(日) 22:28:43.36 ID:+G5D7xWc0
流れ読まずに書いてみる win-ssh-agent っつーのもある。
300名無しさん@お腹いっぱい。:2012/09/23(日) 23:15:25.92 ID:P/oVsneO0
>>299
すごい。動いた。Pageantと同じ感じですね。
>>284は不要になるけど、win-ssh-agentと共存できるからそのまま使うかな。
301名無しさん@お腹いっぱい。:2012/09/23(日) 23:26:53.43 ID:aqtqdpTk0
win-ssh-askpass もちゃんとあるのか
やっぱり必要なのは誰かしら作ってるもんなんだなあ
302名無しさん@お腹いっぱい。:2012/09/23(日) 23:40:14.62 ID:cBpq1iMmP
ssh-pageantってのもあるよ
https://github.com/cuviper/ssh-pageant
303名無しさん@お腹いっぱい。:2012/09/23(日) 23:59:25.06 ID:P/oVsneO0
>>302
これはPageantと連携できるんですかね。試してみたいと思います。
304名無しさん@お腹いっぱい。:2012/09/24(月) 00:23:42.63 ID:EejaxVrh0
ssh-pageantも動いた。こちらは環境変数の扱いはssh-agentと一緒で、
Pageantと連携するものですね。
>>284のようなシェルスクリプトを使って連携するのがよさそう。
305名無しさん@お腹いっぱい。:2012/09/24(月) 00:27:55.38 ID:EejaxVrh0
ssh-pageantが出力する環境変数がWindows側で設定されるとwin-ssh-agentの
ように使えて便利なような気がする。
306名無しさん@お腹いっぱい。:2012/09/24(月) 08:03:57.54 ID:xPCPT09O0
最近はなるべく余計な設定なしに使う方に腐心するようになったなあ
307名無しさん@お腹いっぱい。:2012/09/24(月) 12:17:38.37 ID:r66q4Awe0
>>305
Windows Vista以降には、環境変数を設定するsetxというコマンドがあるんですね。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1003setx/setx.html
XPの場合は、サポートツールというものから入れれるそう。
これをつかって、ssh-pageant.exeとの連携を考えてみた。
まず、cygwinの環境で、~/bin/win-ssh-pageant.shというスクリプトを作成する。
----
ps | grep -q 'ssh-pageant$'

if [ $? -ne 0 ]
then
eval `/home/bin/ssh-pageant -s -q`
/c/Windows/system32/setx SSH_PAGEANT_PID "$SSH_PAGEANT_PID"
/c/Windows/system32/setx SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
fi
----
つぎに、win-ssh-pageant.batというバッチファイルを以下のとおりに作成する。
----
<cygwinのインストールパス>/bin/bash --login /home/bin/win-ssh-pageant.sh
pause
----
あとは、emacsを実行するまえに、win-ssh-pageannt.batをwindowsで一回だけ実行する。
これで、ssh系コマンドのラッパースクリプトがいらなくなった。
PuttyのPageantを既に使っているなら、これが簡単でいいかも。
308名無しさん@お腹いっぱい。:2012/09/24(月) 12:46:33.47 ID:r66q4Awe0
ssh-agent版も一緒です。こちらはパスフレーズを問われます。
----
ps | grep -q 'ssh-agent$'

if [ $? -ne 0 ]
then
eval `ssh-agent -s`
ssh-add
/c/Windows/system32/setx SSH_AGENT_PID "$SSH_AGENT_PID"
/c/Windows/system32/setx SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
fi
----
どっちにしても、ラップスクリプトが不要となりました..。
309名無しさん@お腹いっぱい。:2012/09/25(火) 00:37:24.17 ID:SsxcS7xR0
なんでお前らwinでemacs使ってんの?
なんで自ら過酷な環境選んでんの?
310名無しさん@お腹いっぱい。:2012/09/25(火) 07:18:17.02 ID:vjK696/h0
windowsがそこにあるから
311名無しさん@お腹いっぱい。:2012/09/25(火) 09:14:42.99 ID:Rm35LK7f0
Windows で Emacs が使えると一番嬉しい
312名無しさん@お腹いっぱい。:2012/09/25(火) 09:21:44.74 ID:L97t7jxI0
win + ntemacs 自体はそれほど過酷じゃないっていうかわりと無設定でいけるんだけど
cygwin と組み合わせてちゃんとやろうとすると実は結構めんどくさいんだよね。

まああれだよ、設定いじって悦に入りたいんだよほっといてくれ。
313名無しさん@お腹いっぱい。:2012/10/01(月) 21:57:56.80 ID:UMmO80Dl0
emacswiki の Messagebox via Powershell のところみてて思ったけど
powershell って windows の api も自由に呼び出せるしうまくラッパー関数作れば
emacs から win32api や dll 呼び出しまくりが出来るんじゃないか?

http://emacswiki.org/emacs/ElispCookbook#toc69
http://www.leeholmes.com/blog/2006/07/21/get-the-owner-of-a-process-in-powershell-%E2%80%93-pinvoke-and-refout-parameters/
314名無しさん@お腹いっぱい。:2012/10/01(月) 22:09:22.35 ID:GwlsLMfs0
できないことはないけど、できてうれしいか?
315名無しさん@お腹いっぱい。:2012/10/01(月) 22:38:50.92 ID:UMmO80Dl0
>>314
個人的には notifications.el が使えなかったのが気に食わなかったから
Windows Form の notifyIcon 使えるようになったのはすごく嬉しい
↓みたいなのでバイナリ持ち歩かなくてすむのもちょっと嬉しい
http://www.martyn.se/code/emacs/darkroom-mode/
316名無しさん@お腹いっぱい。:2012/10/05(金) 15:09:27.46 ID:/BRnAamBi
おもしろそうじゃないか
317名無しさん@お腹いっぱい。:2012/10/05(金) 17:19:09.65 ID:xneL0sEg0
powershell の引数の null を empty string に勝手にキャストしちゃう仕様のせいで
FindWindow 発行するのすら一苦労だよ!
318名無しさん@お腹いっぱい。:2012/10/10(水) 06:35:11.02 ID:0om5Vlvc0
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ 
ソ・ウ・カ
シ・ネ 
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ 
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
ソ・ウ・カ
シ・ネ
319名無しさん@お腹いっぱい。:2012/10/13(土) 19:19:10.47 ID:DVnIs09m0
emacs21くらいの時期のIMEパッチの当たったNTEmacsって
どこかに落ちてませんか?
永く使ってたPentiumMマシンのHDDが死んで全部消えたorz
320名無しさん@お腹いっぱい。:2012/10/14(日) 09:49:45.21 ID:FpGykLUQ0
gnupack
321名無しさん@お腹いっぱい。:2012/11/03(土) 13:13:33.75 ID:aibP+8Wn0
Windows8にしたら環境変数でHOMEを設定してるのに立ち上がり直後の位置がHOMEでなくなった
どうしたらいい?
GNUのほうを使ってます
322名無しさん@お腹いっぱい。:2012/11/03(土) 15:19:46.25 ID:3WT6UgHq0
俺はinit.elに
(cd "~")
書いてるけどwin8でどうなるかはシラネ
323名無しさん@お腹いっぱい。:2012/11/03(土) 18:36:17.95 ID:KyU6mXnq0
GNUじゃないほうってのがあるのか
324名無しさん@お腹いっぱい。:2012/11/04(日) 00:21:19.86 ID:lYRG//3L0
『Emacs実践入門』を読みながらxyzzyから乗り換えにトライ中です。
elscreen.elを入れてみたいんですが、バイトコンパイルが下記のエラーで止まります。
elscreen.el:1458:32:Error: Symbol's function definition is void: elscreen-e21-tab-create-keymap
エラーの手前のログは↓と一緒です。
http://gentwoo.elisp.net/emerges/ajaxerrorlog/195526

ググったところでは、Emacs23に下げて解決したという例が
見つかりましたが、他の手段はないんでしょうか?
環境はWin7, 64bit, GNU Emacs 24.2.1 (i386-mingw-nt6.1.7601) on GNUPACK
です。
325名無しさん@お腹いっぱい。:2012/11/04(日) 00:39:55.37 ID:umggNB8F0
APEL非依存版elscreenをバイトコンパイル可能にしてみた - 備忘録
http://d.hatena.ne.jp/tam5917/20120922/1348286748
326名無しさん@お腹いっぱい。:2012/11/04(日) 01:36:29.89 ID:lYRG//3L0
>>325
お陰様でバイトコンパイルが通り、使えるようになりました。
どうもありがとうございました。
# 入れてみて気づいたんですが、tabbarと併用という訳には行かないんですね。
# 少し触ってみてからどちらを使うか選ぼうと思います。
327名無しさん@お腹いっぱい。:2012/11/08(木) 10:03:12.80 ID:B/dcyHx60
あれ?gnupackを更新したらview-modeの挙動が変わってもうた
view-modeの時にqを押下するとview-mode解除だったのが
view-mode解除&rarr;他のバッファに移動となる&hellip;
んー
328名無しさん@お腹いっぱい。:2012/11/08(木) 20:02:10.23 ID:u90fp2DX0
>>327
Emacs24でそこら辺が変更になったみたい。
view-exit 絡みが細かく変わってる。
329名無しさん@お腹いっぱい。:2012/11/10(土) 06:31:47.76 ID:YDRFWOka0
Windows8なんだけどIMEが有効にならない事ないか?
330名無しさん@お腹いっぱい。:2012/11/10(土) 06:40:09.45 ID:YDRFWOka0
Windows8で開いた後ウインドウのインアクティブ、アクティブと切り替えないとIMEが有効にならないよ
さらに、”コントロール パネル\時計、言語、および地域\言語\詳細設定”の
アプリウインドウごとに異なる入力方式を設定する
にチェック入れたら、全くIMEが有効にならなくなるよ
331名無しさん@お腹いっぱい。:2012/11/10(土) 06:41:39.71 ID:YDRFWOka0
gnupack版なんだけどね
332名無しさん@お腹いっぱい。:2012/11/10(土) 06:50:38.82 ID:QK4MHII40
win8使ってる人ががんばって対応するしかないな
333名無しさん@お腹いっぱい。:2012/11/10(土) 07:46:45.86 ID:YDRFWOka0
emacsオタが新しいOS使わないとか玄人ぶるなよイカ臭い
サクッと対応してくれよ
334名無しさん@お腹いっぱい。:2012/11/10(土) 07:57:41.59 ID:QK4MHII40
gnupack使ってるくせにこれ読んでないの?
http://gnupack.sourceforge.jp/docs/latest/UsersGuide.html
>開発者の動作確認は WindowsXP 32bit環境のみになっています.
>Windows95/98/98SE/Meは動作しない可能性があります.
>Windows Vista以降のOSバージョンについては動作する可能性はありますが,サポート外になります.
>gnupackのバグ改修や機能追加等のバージョンアップは本パッケージの開発者の対応可能な範囲内,
>かつ開発者の作業ペースにて行わせていただきます.

Win8使ってる人がパッチなりなんなり作って送るしかない
335名無しさん@お腹いっぱい。:2012/11/10(土) 08:09:13.73 ID:YDRFWOka0
エラソーに何言ってんだか
いまどきXPってありえないんだよ
サクッと対応しろ
やる気ないんだったら辞めろ
336名無しさん@お腹いっぱい。:2012/11/10(土) 08:11:15.64 ID:YDRFWOka0
こう書いてあるんだからあーだこーだ言って常識が通用しないって
何様のつもりなんだか
337名無しさん@お腹いっぱい。:2012/11/10(土) 08:13:56.52 ID:YDRFWOka0
Windows OSのバージョン上げてIMEが動作しなくなったソフトなんて初めてだよ
338名無しさん@お腹いっぱい。:2012/11/10(土) 08:35:57.67 ID:QK4MHII40
そもそも、gnupackの人がNTEmacs作ってるわけじゃないからなー
NTEmacs自身も、IME対応のパッチも、他の人が作ったのをまとめたものでしかない

win8使ってる誰かがwin8対応のIMEパッチを作らない限り、
それがgnupackに反映されることは無いよ
339名無しさん@お腹いっぱい。:2012/11/10(土) 08:45:56.20 ID:YDRFWOka0
沖縄の仲井真知事みたいなことを言うてやがるな
とにかく当事者が責任持って対応しろよ
340名無しさん@お腹いっぱい。:2012/11/10(土) 08:53:15.37 ID:QK4MHII40
当事者=Win8を使ってる人達
341名無しさん@お腹いっぱい。:2012/11/10(土) 08:57:10.62 ID:YDRFWOka0
米兵に強姦されそうになった女子に素手で立ち向かえと言うてるよ
当事者意識がないとはそういう事を言うんだよ
342名無しさん@お腹いっぱい。:2012/11/10(土) 09:01:03.97 ID:YDRFWOka0
たちあがれ日本ってそういう意味だよ
当事者意識がないにも程があるだろ
343名無しさん@お腹いっぱい。:2012/11/10(土) 09:01:36.43 ID:QK4MHII40
残念だけどお前はもう当事者だよw逃げられないよwがんばれw
344名無しさん@お腹いっぱい。:2012/11/10(土) 10:49:37.74 ID:4zFopnN+0
相手してくれる人がいて嬉しそうだなぁ
345329:2012/11/11(日) 00:34:02.07 ID:KSZ1T2UH0
>>329だが
Windows8でGoogle日本語入力にしたらまともになった
ATOKとかでも良いのかもしれんな
346名無しさん@お腹いっぱい。:2012/11/11(日) 00:43:10.11 ID:LrYji+SH0
ATOKはWin8への対応がいまいちらしいよ
347名無しさん@お腹いっぱい。:2012/11/20(火) 10:11:25.26 ID:5cVFe2530
Windows 7 SP1 + emacs-24.2-20120922.exe を使用。
OS の Microsoft IME でローマ字ひらがら⇒漢字変換入力中、
入力や変換文字突然消え、別フレームのバッファへ文字を書き込もうとする。
別フレームバッファが書込可なら書き込まれ、書込禁止ならベルとなる。
1日数回発生。別のWindows XP SP2 + emacs-24.2-20120922.exe + MS IME も同様。
348名無しさん@お腹いっぱい。:2012/11/20(火) 14:10:54.69 ID:5cVFe2530
>>347
補足。
ひどい時は入力変換しようとするバッファでの入力・変換がまったく
できなくなり(入れては消えるの繰り返し)、立ち上げ直すことに。
最近Ctrl+\で変換のオンオフすると直るときがあることに気付く。
349名無しさん@お腹いっぱい。:2012/11/20(火) 15:33:44.94 ID:6cIeULXA0
なんか別のバッフア上でマウスクリックしたような挙動だね?
症状がでるXPと7が同じPCなら、キーボードかマウスが壊れてんじゃないの?
350名無しさん@お腹いっぱい。:2012/11/20(火) 16:57:43.54 ID:5cVFe2530
いえ、異なるPC。
しかもXPはノート、7はデスクトップ。
351名無しさん@お腹いっぱい。:2012/11/20(火) 17:01:17.12 ID:IbMF549k0
その手のたまに発生するのってユーザにも開発者にもやっかいだよねえ
再現手順がはっきりするといいんだろうけど
352名無しさん@お腹いっぱい。:2012/11/20(火) 17:11:27.48 ID:YkPAgPwq0
同じ症状出てる
MS-IMEじゃなくて、ATOKだけど

半角全角キー押した後、ちょっと時間をおくと安定して使える
すぐにキー入力、変換しても問題ない場合もある
353名無しさん@お腹いっぱい。:2012/11/20(火) 17:23:11.25 ID:6cIeULXA0
>>350
Win7 64bit 標準IMEの環境で、emacs-24.1-20120716.exeはまったく問題はでてない。
そのあと二つバージョンがすすんで、
emacs-24.2-20120902.exe
emacs-24.2-20120922.exe
0922の方はIMEがらみを修正したみたいだから、emacs-24.2-20120902.exeを試してみたらどうかね?
354名無しさん@お腹いっぱい。:2012/11/20(火) 17:53:14.01 ID:6cIeULXA0
ところで、MS-IME使いでemacs-24.2-20120922.exeをヘビーに使って問題出てないって人は、
ここ見てる中にいるのかね?w

20120902から20120922へはemacs自体のバージョン代わってないし、
修正はATOK向け対策だけ?なんでMS-IMEの人はそのまま20120902使ってる人が多いよねたぶんw
355名無しさん@お腹いっぱい。:2012/11/20(火) 19:21:38.30 ID:IbMF549k0
自分は Google IME にしちゃってるからなぁ
356名無しさん@お腹いっぱい。:2012/11/20(火) 20:22:25.25 ID:P77lHKlU0
>>354
emacs-24.2-20120922.exeって、gnupackのemacsってことですよね?
であれば、Microsoft Office IME 2010 ですが、Windwos7 SP1 x64環境で、
全く問題なく使えています。
357名無しさん@お腹いっぱい。:2012/11/20(火) 20:59:00.27 ID:6cIeULXA0
バージョンの後についてる日付からgnupackだと勝手に解釈して話がすすんでる
>>356の環境で問題無いのなら自分もちょっと最新にして確認してみるかなあ
問題出てる人の環境は32bitなのかねえ
358名無しさん@お腹いっぱい。:2012/11/20(火) 21:25:46.30 ID:6T0DKQ0P0
w32-ime-buffer-switch-pがnilだとおきないみたい。

自分の場合以下で再現

w32-ime-buffer-switch-pをtに
frameを2つ開く
それぞれ別なファイル開く
片方でIME ONでaを押しっぱなしに(IME ONなので あああ... になる)
しばらくするともう一方にあああ...が入る
359347:2012/11/21(水) 10:04:40.34 ID:aKdliqvR0
>>357
情報不足だった。

>>347で問題出ている 7 は確かに 32bit なのだ。
360347:2012/11/21(水) 10:16:47.08 ID:aKdliqvR0
>>358
同じ条件で同じことをまず7上で再現確認済。
>>347問題原因そのものか?

しばらく7 32bit, XP上ともw32-ime-buffer-switch-pをnilにして生活してみたいが、
nil時の"IME control when buffer is switched is disabled"の副作用は何?
361名無しさん@お腹いっぱい。:2012/11/21(水) 12:25:55.64 ID:Mg9BC3Nl0
バッファ毎にIMEのON/OFF状態を保持するかどうかじゃない?
362358:2012/11/21(水) 12:36:11.76 ID:RUxIADaI0
>>360
副作用つっか、w32-ime-buffer-switch-p nil のときの動作は
バッファ移動時に移動まえのIMEの状態のまま別なバッファに切り替わる。
(移動前にONだとOFFだったバッファに移動してもONになる。
tだとOFFだったバッファに移動に移動するとOFFになる。)

モードライン表示やカーソル色設定などやってたらなんか設定の修正必要かも。
(>>103>>105 参照)

w32-ime-buffer-switch-p t だとバッファ移動時にw32-ime-sync-stateでIME
ON/OFF切り替わるので、入力中にEmacsが裏でバッファ切り替えて強制的にIME
ON/OFFされてなんかおかしくなってるのかも、と想像。
363名無しさん@お腹いっぱい。:2012/11/21(水) 14:31:36.05 ID:strlGyP40
Win7 SP1 64bit MS-IME使用
gnupackのemacs-24.2-20120922へバージョンを上げてみた
w32-ime-buffer-switch-pはtのままで>>358の症状は起きない
ちょっと使ってみた限りでは不具合は無い
このまましばらく使ってみる
364名無しさん@お腹いっぱい。:2012/11/21(水) 15:24:43.86 ID:EU7Z5WAN0
w32-ime-buffer-switch-pをnilで使用してるが、今のところ安定している感じ
IME ONになった後、落ち着くまで時間がかかっていたのがなくなった
長時間使用してみないとまだ確定とは言えないけど

あと、以前も書いたけど、自分の所では、IMEがONにならない症状がある
これも出たり出なかったりする

ちなみにOSはWin7 32bitです
365347:2012/11/26(月) 10:16:52.39 ID:N2A6vvLF0
w32-ime-buffer-switch-p nilで数日間の使用感

>>347の現象は(だぶん完全に)なくなった。

>>362で記されたとおりの「IME(ON/OFF)状態が移動先バッファで継承」の仕様、
特に移動先バッファでの「同状態の切替えは要Ctrl+\の2度押し」が
作業によってストレスあり。
366名無しさん@お腹いっぱい。:2012/11/27(火) 12:42:07.38 ID:3PHtYAGz0
24.3のpretest出てますね。
ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-24.2.90.tar.gz

nt/emacs-x86.manifestが抜けてるのでwindowsでのビルドにはこれを別途入手
する必要があります。
http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00459.html

24.2のnt/emacs.manifestをnt/emacs-x86.manifest にコピーでもよさそうです。
367358:2012/11/28(水) 20:38:11.90 ID:CH5GQuvq0
>>358の現象、テンプレのGNU emacs(x64) (やこれが元の>>210のパッチでの
ビルド)だとおきないように思えるので調べてみましたが x64 では
src/xdisp.c の prepare_menu_bars() という関数で一時的に
w32-ime-buffer-switch-p を nil にしているみたいですね。

その部分だけとりだしてみました。gnupack の 24.2-20120922 へのパッチ。
http://www1.axfc.net/uploader/so/2694236

とりあえず私の環境では>>358の現象はおきなくなったように思えます。
OSはWindows7 64bitです。
368名無しさん@お腹いっぱい。:2012/11/28(水) 22:27:24.14 ID:w6viwKvE0
>>367
Win7 64bit、MS-IME、24.2(gnupack 20120922)、w32-ime-buffer-switch-p = t
以上で試してみてるけど、>>358の現象は起きない。

それで、>>367を見てちょっと試してみたんだけど、
未確定文字がある状態でメニューバーいじると>>358の症状が出るね。
条件がもうちょっとあって、入力する方はIMEがON、もう一方はIMEがOFFじゃないと起きない。

他の人がメニューを特にいじらなくても症状が出るらしいのがナゾだけど、
>>367のパッチで治ってしまうのなら、
症状が出る人の環境では入力してる最中にメニューバーをいじるのと
同等のイベントが起きてたりするってことなのかなあ。
369358:2012/11/28(水) 23:49:05.34 ID:CH5GQuvq0
>>368
私は default-frame-alist に '(menu-bar-lines . 0) を追加してメニューバー
は消して使ってるのでそれが関係するのかもしれませんね。
(tool-barも消してますが)

emacs -q で起動してすこし試してみると>>358の症状は出ないようでした。
370358:2012/11/29(木) 00:08:51.63 ID:S8q1Zple0
違うか。
default-frame-alist に '(menu-bar-lines . 0) を追加しないように
しても>>358の症状でました。
読み込んでるelispになんかメニューいじるようなのがあるのかな…
371368:2012/11/29(木) 01:51:05.49 ID:CMiA19q00
368の環境で、emacs.exeを直接-qありで立ち上げて、
(setq default-input-method "W32-IME")
(w32-ime-initialize)
だけ実行して(これ実行しないとバッファ毎のIME ON/OFFができない)
それだけで>>368と同じ症状の環境になる(メニューいじると症状発生。入力だけなら症状出ない。)

まあ、ちょっと気持ち悪いけど、パッチあてれば症状でないみたいだし、
パッチ当たった挙動のほうが好ましい感じだし、
他に問題ないようならgnupackさんにパッチを当てたバージョンをリリースしてもらえば
よいのではないでしょうか?>>347の人もこれで問題解決すればいいね。
372347:2012/11/29(木) 16:45:33.95 ID:3U1Uyicd0
>>364までは 32bit で問題が起き、64bit では問題なかったが、
>>367以降は 64bit でも問題再現される、ってことだね。

>>371
こちら 32bit 環境でメニューバーの有無での検証はできてないが、
>>347の人もこれで問題解決すればいいね
は期待したい。
373358:2012/11/29(木) 21:07:28.64 ID:XZSQ5X720
>>371
あ、私はemacs -qで立ち上げたあとそのまま試してました。それじゃ意味ないですね。

(setq default-input-method "W32-IME")
(w32-ime-initialize)

を実行してやってみると微妙に動作は違いますがやっぱりダメでした…
(>>358の手順で、aを押したとたんもう一方に あ が入る)
init.elは関係なさそうですね。うーん、何だろ。

まあ、私の場合はとりあえず>>367で起きなくなったようなので深く追求は
しないことにします^^;

とりあえず gnupackの開発メモ の 24.2-20120922 のところでこのパッチ当て
たものを作成していただけないかはコメントしておきました。
374358:2012/12/01(土) 12:19:31.79 ID:euFOwxAI0
gnupackさんのところでは症状再現しなかったようですが>>367のパッチの
あたったものをひとまずリリースしていただけました。
emacs-24.2-20121201.exe
375名無しさん@お腹いっぱい。:2012/12/04(火) 10:02:54.53 ID:4xCiV9a90
emmsというプログラムをパッケージマネージャー?からダウンロードしたところ
下記のエラーが表示されました。
emms-setup.el:96:1:Error: Searching for program: no such file or directory, /bin/bash
/bin/bashが見つからないと言われます。
cygwinはインストールしているのですが、これをemacsに認識させるにはどうすればいいのでしょうか?
emacsを使ってみたくてcygwinもとりあえず入れただけなので、どちらも知識不足で
調べ方すらよく分かってないです。
emacsのバージョンは24.2.1を使っています。
376347:2012/12/04(火) 16:15:55.89 ID:OgUPc3Iy0
>>374で知らせのあったemacs-24.2-20121201.exeをWin 7 32bit, MS-IME,
w32-ime-buffer-switch-p t 環境下、まる1日以上ヘビーユース中、
>>347現象一度も現われず。問題解決か。
377名無しさん@お腹いっぱい。:2012/12/04(火) 21:57:24.29 ID:kmMtASzp0
>>375
Windowsで動くemacsはいろいろあるので、バージョン番号だけじゃ何もわからない。

外部プログラムを使うと思われるemmsのようなパッケージをWindows上で動かすのは、
いろいろ大変。emacsのパッケージは基本的にUnix環境で使うことを前提としている。
外部プログラムを使わないパッケージならそのままWindowsで動くことも多いが、
そうでなければ自分で外部プログラム関係をいろいろ設定してやる必要がある。

emacsからbashが見つかるようにするには、環境変数PathをCygwinの環境に合わせて
変更している人が多い。このスレで使ってる人が多いgnupackなら設定済みでemacsを
起動してくれる。
378名無しさん@お腹いっぱい。:2012/12/04(火) 22:39:56.34 ID:VRWwyQmn0
>>375
Emacs setenv PATH とかでググればヒントがあるかも?
379名無しさん@お腹いっぱい。:2012/12/06(木) 10:51:06.20 ID:w75HrKK50
>>377
>>378
ありがとうございます。
PATHの先頭にcygwinのディレクトリを追加するLispを紹介している
サイトがあったので、それのコピペでエラーは無くなりました。
380名無しさん@お腹いっぱい。:2012/12/06(木) 12:59:23.76 ID:Lu9IWUwN0
ちなみに、NTEmacsって64bitな環境で動作するのか不安。
381名無しさん@お腹いっぱい。:2012/12/06(木) 16:54:58.30 ID:KCxBTFwN0
64bitの環境で使ってるやつの方が多そうだ
382名無しさん@お腹いっぱい。:2012/12/06(木) 17:53:35.01 ID:Lu9IWUwN0
>>381
そなんだ、貧乏人でスマソ。
383名無しさん@お腹いっぱい。:2012/12/06(木) 21:16:11.15 ID:/Gh5AA/s0
win7 64bit で使ってるけど何の問題も起きてないな
384名無しさん@お腹いっぱい。:2012/12/07(金) 00:57:04.13 ID:EiZxAdJl0
ていうか64bit専用版があるじゃん。
hp.vector.co.jp/authors/VA052357/emacs.html

gnupackの人も、この64bit版はIME周りの修正の質が高いので取り込みたいと言ってるよ
385名無しさん@お腹いっぱい。:2012/12/07(金) 22:19:28.19 ID:qeiDJtp40
64bit版は24版がないのがな
386名無しさん@お腹いっぱい。:2012/12/09(日) 11:05:30.42 ID:Rs5ftZ9wP
emacs-24.2-20121208.exe
387名無しさん@お腹いっぱい。:2012/12/09(日) 11:32:45.19 ID:BtgDJ9Qk0
まだ23.4で我慢。
388名無しさん@お腹いっぱい。:2012/12/09(日) 17:53:18.62 ID:jnPh+fRM0
>>210 のパッチ emacs-24.2.90 用
http://www1.axfc.net/uploader/so/2708256
389名無しさん@お腹いっぱい。:2012/12/11(火) 14:19:17.26 ID:5hr4VCHj0
Google日本語入力Win8で今日昨日に急に日本語入力できなくなったぞ
何度他人に不都合味あわせれば気が済むの?
まともに機能しないようなもの公開するな死ね
390名無しさん@お腹いっぱい。:2012/12/11(火) 14:45:31.48 ID:x+cCaeKe0
>>389
使わなければいいのでは???
391名無しさん@お腹いっぱい。:2012/12/11(火) 14:47:45.65 ID:5hr4VCHj0
道路に罠仕掛けておいてそんな言い草あるか
さっさと直せ、出来ないなら今すぐ死ね
今時日本語入力がまともに出来ないソフトなんてあるか糞馬鹿
392名無しさん@お腹いっぱい。:2012/12/11(火) 14:50:00.70 ID:x+cCaeKe0
>>391
あとスレ違いですよ。こちらへどうぞ。

Google日本語入力 サジェスト17候補目
http://anago.2ch.net/test/read.cgi/software/1351225918/
393名無しさん@お腹いっぱい。:2012/12/11(火) 14:52:26.76 ID:5hr4VCHj0
今時日本語入力がまともに出来ないソフトなんて
糞馬鹿野郎がいじくって作ったNTEmacsだけだって言っておろうが
言い逃れするな責任持って早く直せ、出来ないなら死ね
394名無しさん@お腹いっぱい。:2012/12/11(火) 15:02:29.21 ID:5hr4VCHj0
こんな馬鹿げたことやってる奴は初めてみた
お前ごときはクレーマーを適当にあしらって差し支えない
大半の場合には当てはまらないんだよ
事実を受け止め言い逃れをせず今すぐ直さなきゃ死んで当然だろこんなクソ馬鹿
395名無しさん@お腹いっぱい。:2012/12/11(火) 15:15:29.51 ID:5hr4VCHj0
気に食わないから黙ってるだけじゃあるまいな
死にたくなければとにかく早く直せ糞馬鹿
396名無しさん@お腹いっぱい。:2012/12/11(火) 16:19:11.47 ID:VDI3xZv90
おやおや殺人予告ですかw
397名無しさん@お腹いっぱい。:2012/12/11(火) 16:23:44.71 ID:5hr4VCHj0
責任取って腹切って死ぬのは当然で本人の勝手だから完全合法
俺が物理的な自殺の手段を提供したわけではない
398名無しさん@お腹いっぱい。:2012/12/11(火) 16:26:31.73 ID:5hr4VCHj0
腹を切って死ぬべきだという選挙演説も問題なかったことから
完全合法なことは明らかだろう
399名無しさん@お腹いっぱい。:2012/12/11(火) 16:36:34.25 ID:5hr4VCHj0
遵法精神なぞ欠片もないGNU乞食の分際が
手前勝手に法やら警察を盾に言い逃れしようとするから
こういう事言われるんだと納得しろ
400名無しさん@お腹いっぱい。:2012/12/11(火) 16:59:11.11 ID:5hr4VCHj0
とりあえずNTEmacs起動中にMS-IMEとGoogle日本語入力の切り替え操作をやればIME有効になるな
401名無しさん@お腹いっぱい。:2012/12/11(火) 20:38:14.15 ID:I5IbYjCv0
もう、さびしがり屋なんだからッ!
402名無しさん@お腹いっぱい。:2012/12/12(水) 00:52:18.54 ID:eOlIhlw80
emacsスレから誘導されてこちらに来ました

print "hello"
こう書いたパイソンプログラムtest.pyをemacsでrun-pythonするとこう表示されます
>Searching for program: no such file or directory, python

動作確認のため最新版のgnupackを新たに入手してやり直してみました。
まずpythonのインストール(apt-cyg install python)し、
/homeにtest.pyを作り、
mintty.exeでpython test.pyと入力したら正常に動いたのですが、
emacsでtest.pyを開きrun-pythonをしても上のエラーが出てしまいました
なおemacsでのpythonソースへのシンタックスハイライトは問題無く動いています

何が原因なのでしょうか?
403名無しさん@お腹いっぱい。:2012/12/12(水) 07:55:45.30 ID:I9cgGk3Z0
>>402
PATH通してる?
404名無しさん@お腹いっぱい。:2012/12/12(水) 08:20:38.57 ID:GjyDfQqM0
gnupackで設定そのままで、emacs起動プログラム使ってれば、PATHは通ってると思うんだけどね
もしかしてemacs起動プログラムを使ってないのかな
405名無しさん@お腹いっぱい。:2012/12/12(水) 12:54:13.81 ID:lFaAXapd0
>>402
run-pythonをデバッグした。
run-pythonを走らせると、最終的にpythonはstart-processで起動されている。
start-processはshellを介在しない関数なので、cygwinのコマンドはデフォルトでは起動できない。
なので、以下を設定すれば良いみたい。

(setq python-python-command "C:\\gnupack_devel\\app\\cygwin\\cygwin\\bin\\python2.6.exe")

\\gnupack_develは適当にインストールしたパスへ。
コマンドがpython.exeでないのは、/usr/bin/pythonがシンボリックリンクだったので、
リンク先の実体とした。3系を使うのであれば、python3.2.exeなどへ。
406名無しさん@お腹いっぱい。:2012/12/12(水) 12:59:53.93 ID:lFaAXapd0
3系の場合は、python3.2m.exeでした。
407名無しさん@お腹いっぱい。:2012/12/12(水) 14:37:08.88 ID:GjyDfQqM0
/usr/bin/pythonがEXEファイルへのcygwin方式のシンボリックリンクだから
そのままじゃうまくいかないのか
408名無しさん@お腹いっぱい。:2012/12/13(木) 12:13:18.98 ID:0giCTAb70
>>405
pythonが実行された後、エラーになるのでさらに調べた。
run-pythonでは、emacs.pyを読むためにコマンドの中でPYTHONPATHの設定をしている。
これがWindows用の形式で設定されている。これを解決するため、以下のadviceを書いた。
これでOKと思う。

(defadvice run-python (around ad-run-python activate)
(let ((data-directory (substring (shell-command-to-string (concat "cygpath -u " (shell-quote-argument data-directory))) 0 -1)))
ad-do-it))
409名無しさん@お腹いっぱい。:2012/12/13(木) 12:51:39.17 ID:KUMSBC/T0
run-pythonがWindowsで動いてるから「c:/xxx」とかのパスを環境変数に渡すのに、
cygwinのpythonが「:」でパスをぶった切ってくれるのなw
410名無しさん@お腹いっぱい。:2012/12/13(木) 17:33:35.21 ID:0giCTAb70
>>386
以前、一日一回は死んでいたemacsが、このバージョンにしてから死ななくなった
ような気がする。gnupackさんに感謝!
411名無しさん@お腹いっぱい。:2012/12/13(木) 18:06:54.74 ID:0giCTAb70
>>405
gnupackはconfig.iniでcygwinの/binがPATHに設定されていました。
なので、理由はシンボリックリンクだったからだけですね。
ということで、以下の設定とadviceの設定でOKと思います。
(setq python-python-command "python2.6")
412名無しさん@お腹いっぱい。:2012/12/13(木) 18:13:53.42 ID:CiUDMLIF0
パスを cygpath で読み替える advice を作る関数とか作るのもいいかもね。
以前このスレででてた引数のみ cp932 でエンコードする advice を作る関数みたいなの
413名無しさん@お腹いっぱい。:2012/12/13(木) 20:17:21.48 ID:+FVEGnfz0
でもwindowsのソフトを動かす場合もあるんだよね。
今回の場合もwindwos版pythonであれば、追加設定しなくとも動いたのではないかと
思うし。
414名無しさん@お腹いっぱい。:2012/12/13(木) 20:38:04.55 ID:CiUDMLIF0
start-process とか call-process で特定のプログラムが渡された時に時にパス読み替えさせるとかかねえ
modify-process-coding-system みたいに正規表現のパターン登録するとか・・・

java だの javac なんかは windows 版の使ってそうだしね。
415名無しさん@お腹いっぱい。:2012/12/13(木) 20:52:51.05 ID:KUMSBC/T0
run-pythonの問題はちょっと特殊だと思うよ

pythonコマンドがemacsパッケージ内の特定のディレクトリのパスを決め打ちで参照する

このパスの形式がUNIX形式かDOS形式かはemacsパッケージ自体が決定してて、
adviceとかを使わないかぎり変更できないので問題になる

しかし、普通のコマンドなら、そのコマンドが参照するパス自体が決め打ちなことはめったに無くて、
パス自体を設定する手段が提供される場合が多い。したがって、コマンドがCygwinかWindowsネィティブか
に合わせて適切な形式のパスを設定してやればそれで済んでしまう
416名無しさん@お腹いっぱい。:2012/12/13(木) 20:59:29.51 ID:+FVEGnfz0
今回の問題の対応では、こんな方法も見つけた。
(setenv "PYTHONPATH" "/app/emacs/emacs/etc/:")
:でだます方法。
417402:2012/12/15(土) 01:59:11.18 ID:pwrqpN1P0
皆さんありがとうございます。
無事run-pythonが動くようになりました!
418名無しさん@お腹いっぱい。:2012/12/17(月) 00:25:40.98 ID:ZWcjSacD0
strawberry perl 付属 gcc でのビルドしか試してないけど
>>388 の emacs-24.2.91 用。emacs の diff だけ。
http://www1.axfc.net/uploader/so/2718193
419418:2012/12/17(月) 02:42:23.88 ID:ZWcjSacD0
表 で終わる directory 下を completion しようとすると落ちていたので修正。
>>418 は 削除しました。
http://www1.axfc.net/uploader/so/2718334
420名無しさん@お腹いっぱい。:2012/12/17(月) 22:31:07.68 ID:Z5+7ZunX0
>>276
multi-termにトライ中。
C-aが動かないのは、設定されているTERMのterminfoがないことが原因みたい。
C-hが動かないのは、そのような設定になっているから。
ということで、以下の設定でOKでした。
(setq system-uses-terminfo nil)
(delete "C-h" term-unbind-key-list)
次は、リサイズを調査。
421名無しさん@お腹いっぱい。:2012/12/17(月) 22:33:29.15 ID:Z5+7ZunX0
リンク張れないので、転記。白黒反転を治す設定。
(setq
term-default-fg-color "White"
term-default-bg-color "Black"
ansi-term-color-vector
[unspecified "black" "#ff5555" "#55ff55" "#ffff55" "#5555ff"
"#ff55ff" "#55ffff" "white"])
422名無しさん@お腹いっぱい。:2012/12/18(火) 12:21:05.23 ID:15hr3Tee0
multi-term改め、ansi-termをまずは整理。
ansi-termが動かない原因がなんとなくわかりました。term-exec-1の最後
の方にあるstart-processの起動で、sttyがうまく設定されていないようです。
おそらく、起動シェルをf_bashにするとダメな様子。最適解かは分かりま
せんが、advice書いてみました。
(defadvice start-process (before ad-start-process-for-ansi-term activate)
(let ((name (ad-get-arg 0)))
(if (string-match "^*ansi-term*" name)
(ad-set-arg 2 "f_bash"))))
その他の設定は、以下。
(setq locale-coding-system 'utf-8) ; emacsをcp932で使っていれば不要かも
(setq system-uses-terminfo nil)
これで、ansi-termの起動時に指定するshellをbashにすれば、別途sttyの
設定をしなくとも、ある程度動くようになると思います。
423名無しさん@お腹いっぱい。:2012/12/18(火) 13:13:33.82 ID:UdT9mmKK0
locale-coding-system は utf-8 にすると current-time-zone で文字化けするのがね
影響範囲よくわからないから *-term の時だけにしたほうがいいのかもしれない
424名無しさん@お腹いっぱい。:2012/12/18(火) 20:37:01.18 ID:e4NOtSj50
>>423
TZが設定されていれば、漢字は表示されない?
gnupackはconfig.iniで設定されている。
425名無しさん@お腹いっぱい。:2012/12/18(火) 21:31:24.46 ID:UdT9mmKK0
>>424
TZ を emacs 外でも内でも設定しちゃえば (current-time-zone) の値がそれになるからそこに関しては問題ないけど
locale-coding-system が他にどこで使われてるかわからないんだよね

windows 側からのメッセージのエンコーディングを設定する変数だから元々の cp932 が妥当だとは思う
426名無しさん@お腹いっぱい。:2012/12/19(水) 17:46:25.56 ID:bnBgLH6l0
>>425
windowsとしてのlocale-coding-systemはcp932かもしれないけど、LANGに
ja_JP.UTF-8を設定したcygwinからみると、locale-coding-systemはutf-8
のような気もする..。混在して使ってんのがよくないんですかね。
とりあえず、term.elでlocale-coding-systemを使っている関数の部分だけに
adviceを入れてみた。これで、locale-coding-systemのsetqは不要となりますね。
(defadvice term-emulate-terminal (around ad-term-emulate-terminal activate)
(let ((locale-coding-system 'utf-8))
ad-do-it))
427名無しさん@お腹いっぱい。:2012/12/20(木) 17:23:12.29 ID:TjXeajo00
ベストな設定か分かりませんが、まとめてみました。
http://www49.atwiki.jp/ntemacs/pages/26.html
http://www49.atwiki.jp/ntemacs/pages/27.html
428名無しさん@お腹いっぱい。:2012/12/21(金) 12:05:14.05 ID:YJYuOL8b0
(setq system-uses-terminfo nil)の設定が機能していなかったようです。
とりあえず、以下の対応でうまく動くと思います。
mkdir -p ~/.terminfo
tic -o ~/.terminfo /app/emacs/emacs/etc/e/eterm-color.ti
wikiも直しました。
429名無しさん@お腹いっぱい。:2012/12/23(日) 12:12:07.94 ID:hTz8Xh+X0
NEWS より
* Changes in Emacs 24.3 on non-free operating systems
---
** Cygwin builds can use the native MS Windows user interface.
Pass --with-w32 to configure. The default remains the X11 interface.
** Two new functions are available in Cygwin builds:
`cygwin-convert-file-name-from-windows' and
`cygwin-convert-file-name-to-windows'. These functions allow Lisp
code to access the Cygwin file-name mapping machinery to convert
between Cygwin and Windows-native file and directory names.

トライしてみたが、ビルドが最後まで到達しなかったよ
430名無しさん@お腹いっぱい。:2012/12/24(月) 18:57:18.87 ID:jUIt3Rfb0
24.2.91 で ./configure --with-w32 して試したら普通にビルドできたけど
431名無しさん@お腹いっぱい。:2012/12/26(水) 18:53:00.98 ID:qL8qjjhq0
>>422
fakecygptyの作者?のメールを見つけました。
http://www.ysnb.net/meadow/meadow-develop/2005/msg00211.html
http://www.ysnb.net/meadow/meadow-develop/2005/msg00367.html
これを読むと、start-processで起動するプロセスは全てfakecygpty版に
しているように読めます。一方、grepでは問題になると。
であれば、以下のような設定にして、fakecygpty版の設定を一箇所に
まとめてしまえばと考えたのですが、問題ありますかね?
http://www49.atwiki.jp/ntemacs/pages/28.html
自分の使う機能では問題なく動いているようですが..。
432名無しさん@お腹いっぱい。:2012/12/26(水) 19:25:25.14 ID:ob2fso4X0
自分は ruby も f_ruby にしてるな
433名無しさん@お腹いっぱい。:2012/12/26(水) 19:39:03.26 ID:qL8qjjhq0
fakery-program-listに追加してもらえばOKですね。
分らないのは、fakery-program-listに登録したプログラムがstart-process
から起動されるとき、すべてfakecygpty版にして問題ないものかなぁと。
434名無しさん@お腹いっぱい。:2012/12/26(水) 21:48:27.48 ID:ob2fso4X0
間違った
ruby を f_ruby にしてるんじゃなくて、
「irb」 を「 f_ruby irb」 に変更してるんだった
irb みたいなスクリプトだと #! 記法で ruby を直接起動しちゃうんだけど
それだと対話処理が正しく動いてくれなかった
435名無しさん@お腹いっぱい。:2012/12/26(水) 22:34:13.78 ID:cnOs4SgB0
run-pythonは、f_irb.exe作ってfakery-program-listに"irb"を追加したら
動いたけど、そういうことではなく?
436名無しさん@お腹いっぱい。:2012/12/26(水) 22:36:17.72 ID:cnOs4SgB0
>>435
間違った。run-ruby
437名無しさん@お腹いっぱい。:2012/12/26(水) 23:23:25.26 ID:ob2fso4X0
fakecygpty は f_command にリネームしなくても fakecygpty command で起動しても機能するから
arg2 を args にどかして arg2 に fakecygpty を入れてやればいいんじゃない?
そうすりゃ一々 f_xxx を用意しなくても init.el の設定だけでうまくいくと思う
Meadow のに近くなるね
438名無しさん@お腹いっぱい。:2012/12/26(水) 23:27:30.36 ID:cnOs4SgB0
そうなんだ。考えてみる。
439名無しさん@お腹いっぱい。:2012/12/26(水) 23:33:16.36 ID:ob2fso4X0
あと凄いどうでもいいけど lambda は元々関数クォートした lambda を返すマクロになってるから
わざわざ関数クォートしなくてもいいらしいよ
http://www.mew.org/~kazu/doc/elisp/function.html
440名無しさん@お腹いっぱい。:2012/12/26(水) 23:50:56.22 ID:ob2fso4X0
これでよさそうだ
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty")))

tramp-encoding-shell を f_bash にしてたのも bash に替えるだけでよくなりそうだけど
変数追ってくと call-process してるところもあるんだよなぁ
441名無しさん@お腹いっぱい。:2012/12/26(水) 23:55:10.28 ID:cnOs4SgB0
こんなんではどうでしょ。
http://www49.atwiki.jp/ntemacs/pages/28.html
442名無しさん@お腹いっぱい。:2012/12/26(水) 23:56:37.61 ID:cnOs4SgB0
>>440
すごい。すっかりおんなじ。
443名無しさん@お腹いっぱい。:2012/12/27(木) 00:00:52.26 ID:O+IRcfJu0
>>440
fake版のプログラムがcall-processで呼ばれているところはどの辺ですかね?
というか、何を動かし方ときか教えてもらえますか?
444名無しさん@お腹いっぱい。:2012/12/27(木) 00:06:33.79 ID:zP4ZABAs0
>>443
fake版が呼ばれているというより、tramp-encoding-shell が call-process されているところがあって
そこは fake 版じゃなくても大丈夫なのかな?ってところ。
件のメール見る感じだと問題なさそうだけど。

tramp-sh.el の tramp-call-local-coding-command ね。
ここで tramp-compat-call-process(実態は call-process) が tramp-encoding-shell を呼んでる
445名無しさん@お腹いっぱい。:2012/12/27(木) 00:09:53.54 ID:O+IRcfJu0
>>444
逆に、call-processのところはfake版じゃなくてOKなのかなぁと思っているん
だけど。どうだろ?
446名無しさん@お腹いっぱい。:2012/12/27(木) 00:24:21.01 ID:zP4ZABAs0
>>445
メールの感じからすると問題なさそうなんだけどね。
ちなみにネットワーク越しに使う部分ではちゃんと start-process で呼ばれてる。
447名無しさん@お腹いっぱい。:2012/12/27(木) 00:41:04.80 ID:O+IRcfJu0
以下の設定をして様子見ます。本日はここまでかな。日越してるけど。
(trace-function-background 'tramp-compat-call-process)
448名無しさん@お腹いっぱい。:2012/12/27(木) 04:02:55.75 ID:exxH2qzq0
• •
449名無しさん@お腹いっぱい。:2012/12/27(木) 12:13:42.25 ID:4aH815h60
>>445
少し理解が進みました。fakecygptyが必要なのは、非同期プロセスだから
ですかね。なので、同期プロセス(プロセスの終了を待つ)call-process系
には不要となる..といったところでしょうか..。
http://www.bookshelf.jp/texi/elisp-manual-20-2.5-jp/elisp_37.html#SEC586
450名無しさん@お腹いっぱい。:2012/12/27(木) 21:21:46.26 ID:AOX40p4L0
Cygwinのパッケージ版のNTemacsなんだけど、日本語入力の時にカーソルが大きくなるを設定で抑制できる?
451名無しさん@お腹いっぱい。:2012/12/27(木) 23:32:33.90 ID:8u5TMQni0
>>450
それってemacs-w32でいいの?
452450:2012/12/27(木) 23:42:47.19 ID:AOX40p4L0
もちろんX版じゃなくてwin32版
453名無しさん@お腹いっぱい。:2012/12/28(金) 20:29:49.78 ID:86DkZQdG0
cygwin版 emacs だと fakecygpty 不要になるんだろうか
454名無しさん@お腹いっぱい。:2012/12/29(土) 09:05:55.07 ID:yFmirIzK0
cygwinのX11じゃないemacsWin32インストールするだけで動く?
なんかうまくいかない
455名無しさん@お腹いっぱい。:2012/12/29(土) 09:58:44.19 ID:8SHAhfOj0
>>454
なんか依存関係ちゃんと書かれていないみたいで自分でパッケージ追加しないとだめみたい
普通の emacs も入れなきゃだめで、かつ emacs-win32 のバージョンに合わせてやらないとだめだった
あと libnoX-xpm だったかな
456名無しさん@お腹いっぱい。:2012/12/29(土) 10:55:57.78 ID:C0yMNk9b0
しかし、ここのライブラリー変化ないですねぇ〜。
ttp://gnuwin32.sourceforge.net/packages.html
457名無しさん@お腹いっぱい。:2012/12/29(土) 16:42:02.51 ID:Cc3ac9VQ0
Cygwinのインストーラーが腐っていてemacs-w32をインストールしようとすると強制的に古いバージョンを入れるようになっている
あとライブラリが足りなきゃcygcheckで
458名無しさん@お腹いっぱい。:2012/12/29(土) 21:18:52.02 ID:yFmirIzK0
>>455
emacs本体を同じバージョンで入れなきゃいけなかったのか
ありがとう無事動いたよ

まだX11ではなくWindowsのEmacs環境って整えたことないんだけど、日本語対応とか考えるとNTEmacsが安定してるのかな
459名無しさん@お腹いっぱい。:2012/12/29(土) 21:50:58.58 ID:8SHAhfOj0
>>458
ちょろっとしか触ってないからなんとも言えないけど GoogleIME での入力は
IME パッチなしの NTEmacs とおんなじ感じだった
アイコンが設定されてないところとかがちょっとさみしい感じ
460名無しさん@お腹いっぱい。:2012/12/30(日) 17:16:52.68 ID:M3Cr9ItB0
>>437
コマンドの位置をずらすことにより、start-processに適用している他のadvice
が影響を受ける可能性があることに気づきました。対策として、aroundの方が
beforeより後に適用されるようですので、そのように見直しました。
http://www49.atwiki.jp/ntemacs/pages/28.html
461名無しさん@お腹いっぱい。:2012/12/31(月) 00:53:40.83 ID:NpcfSigt0
>>460
info によると、advice を適応させる順序が指定できるそうなので
そっちの方がよさそうでないかな。
http://www.bookshelf.jp/texi/elisp-manual/21-2-8/jp/elisp_17.html#SEC210
↑の position のところ。初期値は first でこれを last にしたらどうだろう。
462名無しさん@お腹いっぱい。:2012/12/31(月) 03:12:49.19 ID:1abhyNQk0
>>461
情報ありがとうございます。実験し、意図通り機能することを確認しましたので、
wikiに反映しました。
http://www49.atwiki.jp/ntemacs/pages/28.html
463名無しさん@お腹いっぱい。:2012/12/31(月) 04:34:14.87 ID:NpcfSigt0
ねむれねえーーーーー
これまた微妙なとこだけど
.exe を除去するのに file-name-sans-extension はどうでしょう
464名無しさん@お腹いっぱい。:2012/12/31(月) 09:52:35.22 ID:1abhyNQk0
>>463
対応しました。コードが整理されてきていい感じです。ありがとうございます。
465名無しさん@お腹いっぱい。:2012/12/31(月) 10:39:40.40 ID:5+hoIe7A0
Emacs24使ってる人います?
自分的には23.4で満足してるんですが。
466名無しさん@お腹いっぱい。:2013/01/02(水) 09:24:55.49 ID:U9BkASSj0
>>465
emacs24.2を使っているよ。でも、emacsを最新に追いかけているわけではなくて、
gnupackのemacsを最新にしている感じ。先日あった以下のリリースでは、自分の
環境では安定して動くようになった。(それまで一日一回は落ちていたのが、
落ちなくなった。)
http://d.hatena.ne.jp/ksugita0510/
467名無しさん@お腹いっぱい。:2013/01/02(水) 11:47:05.77 ID:KMi+vVcs0
NTEmacsのビルドなんですが、やはりjpeg6のままなんでしょうか。
このサイトメンテされていないでしょうか。
ttp://gnuwin32.sourceforge.net/packages.html
468名無しさん@お腹いっぱい。:2013/01/02(水) 16:32:12.91 ID:eO9FNHDy0
何が"やはり"なのかよくわからん。
自分でIJG jpegをビルドすれば何でも使えるのでは?
実際、gnupackのEmacs24に同梱されているのはjpeg8のようだし。
469名無しさん@お腹いっぱい。:2013/01/02(水) 18:00:19.89 ID:KMi+vVcs0
>>468
さっとmingwでビルドしたけど、emacsのconfigureで認識しなくて面倒そうなので、まだjpeg6でいいや。
470名無しさん@お腹いっぱい。:2013/01/03(木) 10:53:13.00 ID:HP7TSPVt0
つーか、IJG jpegをビルドといっても、mingwでやったが、うまくヘッダーファイルを認識してくれない。。もう一度やるか。
471名無しさん@お腹いっぱい。:2013/01/03(木) 11:37:18.87 ID:HP7TSPVt0
>>468
IJG jpegをビルドする方法教えて頂けないでしょうか?
472名無しさん@お腹いっぱい。:2013/01/03(木) 22:13:35.86 ID:9DnsJyFs0
473名無しさん@お腹いっぱい。:2013/01/03(木) 22:14:49.49 ID:HP7TSPVt0
>>472
ありがとうございます。試してみます。
474名無しさん@お腹いっぱい。:2013/01/05(土) 15:51:16.80 ID:j7/FbKQy0
>>427
漢字フォルダにcdできないのは、以下で解決できるみたいだ。
(defadvice cd (around ad-cd activate)
(let ((dir (decode-coding-string dir 'utf-8)))
ad-do-it))
linuxだと設定なしでも動くんだけど。もうちょっと調査。
475名無しさん@お腹いっぱい。:2013/01/30(水) 16:55:17.06 ID:E+avgWqu0
ここで聞いて良いのかわからないのですが、質問させてください。
AutoCompleteを使用しているのですが、//%と入力すると動作が一旦停止したような感じになります。
.emacsで設定している内容は以下の通りです。

(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
(setq ac-use-menu-map t)

この現象を回避するにはどのようにすればよいか、ご存知ないでしょうか。
476475:2013/01/30(水) 17:30:39.52 ID:E+avgWqu0
使用しているのは、NTemacsの23.2.1です。
最新のgnupack_basic-11.00にAutoCompleteを導入して試してみたところ、
>>475のような症状はでませんでした。
gnupackのemacsに移行することにします。
477名無しさん@お腹いっぱい。:2013/02/09(土) 12:13:09.65 ID:UrTHg3qq0
>>419の24.2.93用。
http://www1.axfc.net/uploader/so/2786142

UNIX版Emacsスレで出てた
https://github.com/Hideyuki-SHIRAI/migemo-for-ruby1.9
の修正をcmimemo.elに加えてみました。(583〜636行目を加えただけ)
478名無しさん@お腹いっぱい。:2013/02/09(土) 15:15:15.96 ID:o78OYVMb0
24.2.93をmingw(32bit)でビルドしたら、w32fns.cで
undefined reference to `w32_get_ime_status'とか言われて
ビルドに失敗した。

configure時もIMR_DOCUMENTFEEDがないって言ってるし、
やっぱりmingw(64bit)じゃないとビルドできないんだろうか。
479478:2013/02/09(土) 15:21:26.92 ID:o78OYVMb0
言葉足らずでしたが,
>>478は,>>477のパッチを使ったのビルドです.
480477:2013/02/09(土) 19:48:04.34 ID:lBpNE3l50
>>478
すみません、configure.batの指定などは>>388では一緒に入れておいた
README.txtに書いていたのですが>>477ではdiffしか置いてません^^;

undefined reference to `w32_get_ime_status' は --enable-w32-ime がない
のかな。
IMR_DOCUMENTFEED はご指摘のとおり mingw32 には無いようです。
が、--cflagsで -DIMR_DOCUMENTFEED=7 を指定すればよさそうです。
(IME前後参照変換も動いてるみたい)

とりあえず私のところでは configure.bat で以下を指定して tdm-gcc 32bit
でビルドできました。

--prefix (emacsインストール場所)
--with-svg
--enable-w32-ime
--no-debug
と、--cflagsに
-DRECONVERSION
-DDOCUMENTFEED
-DIMR_DOCUMENTFEED=7
-I(画像等のライブラリ用のincludeファイルの置き場所)...
481名無しさん@お腹いっぱい。:2013/02/09(土) 20:27:25.11 ID:5vZ/HD9U0
>>477
w32proc.c の sys_spawnve も修正お願いします。
482477:2013/02/09(土) 20:48:44.37 ID:lBpNE3l50
>>481
う、すいません、よくわかりません。pidの型?
どこかお教えいただけると幸いです。
483478:2013/02/09(土) 21:04:51.77 ID:o78OYVMb0
>>477
ビルドうまくできました.ご指摘いただいたとおりでした.
ありがとうございます.非常に助かりました.
484名無しさん@お腹いっぱい。:2013/02/09(土) 22:32:55.04 ID:5vZ/HD9U0
>>482

>>55 に記述されているものです。
ただ、cp932 以外のコード (使用される可能性があるのは utf-8 だけ?)
に _mbsinc を使って問題ないか、自信なし。

採用されなかった
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13589
で、 utf-8 -> cp6501 とみなす等の処理を追加すればより安全ではありますが、煩雑ですね。

(NEmacs24 とかできてしまいそうだ)
485477:2013/02/10(日) 13:08:48.50 ID:Qg3VTggq0
>>484
ありがとうございます。
うまく動いているかちょっと自信ないですが、とりあえず修正してみました。
http://www1.axfc.net/uploader/so/2787577
486名無しさん@お腹いっぱい。:2013/02/10(日) 23:52:01.10 ID:hCQUmhp/0
>>485
こちらこそありがとうございました。
当該の部分は未チェックですが、mingw32 でビルドし、問題なく動作しています。

24.2.93 では、w32-shell-execute がリソース不足で動かなくなる現象が発生
しづらくなることを期待しています。
(他のバグ回避のため、Emacs起動時に確保するヒープサイズが小さくなった)
487名無しさん@お腹いっぱい。:2013/03/05(火) 13:45:23.08 ID:3dTyCCu70
24.3のrc版が出てますね
488名無しさん@お腹いっぱい。:2013/03/06(水) 15:48:44.96 ID:WV42bfDlP
NTEmacsはアニメーションGIF対応してるの?
489名無しさん@お腹いっぱい。:2013/03/08(金) 19:39:37.61 ID:mXvshdWq0
gnupackのemacsを使っています。多重起動についての質問です。
「送る」にファイルを送ってemacsで編集するとき、
emacsを多重起動させない方法はありますか?
windowsの他のテキストエディタ(Meryとか)のように、
emacsが立ち上がっていなければemacsを立ち上げて編集、
emacsが既に立ち上がっていればそのemacsで編集をしたいです
490名無しさん@お腹いっぱい。:2013/03/08(金) 21:37:49.70 ID:UMDpxtlm0
一発目のemacsでサーバー立てちゃえよ
491名無しさん@お腹いっぱい。:2013/03/08(金) 22:16:33.28 ID:WXw6JJyV0
>>489
自分はこんなバッチ書いて、それのショートカットを送るに入れてる。
ttp://s.ameblo.jp/tonjiru2121/entry-10469734020.html
492名無しさん@お腹いっぱい。:2013/03/09(土) 00:42:43.97 ID:IZYUaw3U0
>>490-491
なるほど、そういう方法があるのですね。
勉強になります。
493名無しさん@お腹いっぱい。:2013/03/12(火) 01:35:21.63 ID:alBBMdpk0
24.3 released!
494名無しさん@お腹いっぱい。:2013/03/12(火) 09:26:51.79 ID:gXeh7e370
細かい所結構変わってるのな
495名無しさん@お腹いっぱい。:2013/03/12(火) 21:59:26.50 ID:UfLsVJeL0
>>488
GIF対応するようにbuildされたバイナリなら対応している
C-x C-fで読み込むと静止した状態、RETでアニメーション実行
デフォルトではアニメーションは1回で終了だけど、
変数image-animate-loopがtの時にはアニメーションを繰り返す
後者の場合は再度RETでアニメーション停止
496名無しさん@お腹いっぱい。:2013/03/13(水) 01:18:49.15 ID:TMxhIyw7P
>>495
> C-x C-fで読み込むと静止した状態、RETでアニメーション実行
この発想はありませんでした
公式ビルド使ってますがちゃんと動きました
image-toggle-animationで動かせたんですねえ
497名無しさん@お腹いっぱい。:2013/03/14(木) 03:17:58.96 ID:fWkJ5lBu0
eshellのチルダ周りがいまひとつな感じになってんだけど
なぬか情報無いですか?

バッファ上では Char: ~ (126, #o176, #x7e)
$ find-file ~/. ←Tab補完しようとしたら read only〜で受け付けない
 ..それでもTab入れ続けると たまに 「$ find-fic:\User\usr\ 」こんな感じに

$rm *~ も効かない
498名無しさん@お腹いっぱい。:2013/03/14(木) 11:04:23.49 ID:RbwONLymP
>>497 \~
499名無しさん@お腹いっぱい。:2013/03/16(土) 11:51:15.83 ID:OA0PYzbW0
>>485 でも 24.3 に当たるとは思いますが、とりあえず 24.3 用。
少し cmigemo まわりなど変更しています。

http://www1.axfc.net/uploader/so/2832125

テンプレにある GNU emacs(x64) に同梱のパッチを元に emacs 24.3 を
mingw-w64 (32bit, 64bit) でビルドできるようにしてみたパッチです。
w64 でない mingw (mingw32) の gcc でも一応ビルドできます。
MSVC でのビルドは未考慮です。

ダイナミックロード機能はうまく動かせなかったので入っていません。
cmigemo は GNU emacs(x64) のダイナミックロード機能追加前の方法で
組み込むようにしてみました。(前のパッチの .a でリンクするのはやめ)
cmigemo.el は
https://github.com/emacs-jp/migemo
の migemo.el をもとに修正してみたものにしてあります。
500名無しさん@お腹いっぱい。:2013/03/16(土) 12:50:49.41 ID:TLjgnNtn0
24.3をMSYSでコンパイルしようと思ったんだけど、make bootstrapでエラー orz
rm: cannot lstat `gl-tmp': No such file or directory
make[3]: [gl-stamp] Error 1 (ignored)
501名無しさん@お腹いっぱい。:2013/03/16(土) 13:03:50.66 ID:TLjgnNtn0
ttp://lists.gnu.org/archive/html/bug-gnu-emacs/2012-11/msg00991.html

この問題かと思ったけど、パッチ当ててもビルド失敗した orz。
502名無しさん@お腹いっぱい。:2013/03/16(土) 14:07:07.63 ID:OA0PYzbW0
>>500
ignored って出てますし、そのエラーは無視されるだけなんじゃないですかね。
別なところで止まっているのでは。
cygwin でビルドしてますが
make[3]: [gl-stamp] Error 1 (ignored)
は私のとこでも出ます。
503500:2013/03/16(土) 14:47:50.38 ID:TLjgnNtn0
>>502

そうですね。ignoreされてるのは知ってるんですが、その先にビルドが進まなくて困って
います。
504502:2013/03/16(土) 16:43:55.78 ID:OA0PYzbW0
>>503
cmd (コマンドプロンプト) で止まってますか?
MSYS だと cmd /c を cmd //c にすればよいようです。
(そういう修正がtrunkには入ってる)

src/makefile.w32-in の cmd /c (2か所)を cmd //c にしてみるとビルドでき
ているみたいです。(今 lisp 下のバイトコンパイル中)

#cygwinからできるから入れなくていいやと思ってたけどMSYS入れちまった^^;
505500:2013/03/16(土) 16:46:26.70 ID:TLjgnNtn0
506名無しさん@お腹いっぱい。:2013/03/17(日) 03:49:25.19 ID:Uuh9MBo/0
うーん、なんかビルドエラーになるな、24.3はgnupackの中の人待ちだな、こりゃw
507名無しさん@お腹いっぱい。:2013/03/17(日) 08:27:13.39 ID:F5WF4/1o0
emacs for gnupack 24.3のビルド - gnupackの開発メモ
http://d.hatena.ne.jp/ksugita0510/20130316/p1
508名無しさん@お腹いっぱい。:2013/03/17(日) 08:30:06.16 ID:V+t0FqkP0
emacs for gnupack 24.3のビルド(configureオプション修正)
http://d.hatena.ne.jp/ksugita0510/20130317/p1
509500:2013/03/17(日) 10:26:59.14 ID:Fh34oiD70
>>506
> うーん、なんかビルドエラーになるな、24.3はgnupackの中の人待ちだな、こりゃw

やっぱりそうでしたか。私も駄目です。
510名無しさん@お腹いっぱい。:2013/03/17(日) 13:12:48.76 ID:Zs28UX7w0
ビルドできないのは64ビット?

32ビットMSYSでcygwin同様ビルドできているけど。
511500:2013/03/17(日) 13:43:35.13 ID:Fh34oiD70
>>510
> ビルドできないのは64ビット?

いや、32bitです。当分、23.4を使うことにします。
512名無しさん@お腹いっぱい。:2013/03/19(火) 19:57:00.56 ID:XdS5lq8B0
24.3 の公式ビルドでてるみたいですね。
http://ftp.gnu.org/gnu/emacs/windows/emacs-24.3-bin-i386.zip
513500:2013/03/19(火) 20:55:31.35 ID:/8OlFoOd0
>>512
自ビルド出来ないのが、納得できない。
514名無しさん@お腹いっぱい。:2013/03/19(火) 21:09:47.09 ID:MPxAHC6r0
exitでcmdからぬけたらええがな
515名無しさん@お腹いっぱい。:2013/03/19(火) 21:22:58.57 ID:wLb2Q9bD0
今回安定版らしいしCygw嫌いは 23.4(x64)の人の再登場を願うしかねぇな
516499:2013/03/19(火) 21:34:10.03 ID:XdS5lq8B0
Cygw嫌いじゃないけど私のなんちゃってパッチよりちゃんとしたもの
出してくれるの期待してる
517500:2013/03/20(水) 14:28:19.90 ID:ynhG8zfy0
>>472
それ自分駄目でした。jpg表示が出来なかった。

あと、24.3でskkのビルドが出来ない。
$ make EMACS=/usr/local/share/emacs/24.3/bin/emacs.exe PREFIX=/usr/l
ocal LISPDIR=/usr/local/share/emacs/24.3/site-lisp VERSION_SPECIFIC_
LISPDIR=/usr/local/share/emacs/24.3/site-lisp
/usr/local/share/emacs/24.3/bin/emacs.exe -batch -q -no-site-file -l SKK-MK -f SKK-MK-compile
Loading d:/home/hoge/cvs_work/skk/main/SKK-CFG...
Generating autoloads for d:/home/hoge/cvs_work/skk/main/skk-cursor.el...
Wrong type argument: stringp, nil
Makefile:31: recipe for target `elc' failed
make: *** [elc] Error 127
518500:2013/03/20(水) 15:00:56.48 ID:ynhG8zfy0
>>517
すいません。ddskk-15.1でビルド出来ました。
519472:2013/03/20(水) 15:17:07.98 ID:G8ZvNk060
これgnupackさんが使ってるのと同じものなので表示出来ないはずがないと
おもいますけど…

emacs.exe の場所へは libjpeg.dll でコピーするか、
dynamic-library-alist を変更するかすればよいのでは。
520500:2013/03/20(水) 15:23:03.70 ID:ynhG8zfy0
今度は、wanderlustがうまく行かない。。やっぱ24はキツいなぁ。
521名無しさん@お腹いっぱい。:2013/03/20(水) 15:27:14.03 ID:G8ZvNk060
wanderlust は
https://github.com/wanderlust/wanderlust
からもってくればいいんじゃないかな。
522名無しさん@お腹いっぱい。:2013/03/20(水) 15:51:10.05 ID:atH7pbg+0
そう言えばWnderlustのMLでw32-symlinks.elの話が出てたな。

> > (defadvice insert-file-contents-literally
> > (before insert-file-contents-literally-before activate)
> > (set-buffer-multibyte nil))
>
> gnupack の利用者は上記の advice を無効にし、以下の advice を使うか
> 添付のパッチを w32-symlinks.el に当ててみてください。
>
> # パッチは**さんに DM で送ったものから minimal なものに変えています。
>
> (defadvice w32-symlinks-parse-shortcut (around emacs23-fix activate)
> (let ((default-enable-multibyte-characters nil))
> ad-do-it))
523名無しさん@お腹いっぱい。:2013/03/20(水) 15:53:44.14 ID:EXZ3/t5g0
他でも使われてるであろう insert-file-contents-literally に直接 advice はいかがなものかと思ってたから
これは助かるわ。
524500:2013/03/20(水) 15:56:27.18 ID:ynhG8zfy0
>>521
ありがとうございます。でもmasterから持ってきても、ntemacs24.3だとコンパイルエラーになります。
うーん、困ったemacs24。

$ make EMACS=/usr/local/share/emacs/24.3/bin/emacs PREFIX=/usr/local
\
> PIXMAPDIR=/usr/local/share/pixmaps/wl LISPDIR=/usr/local/share/ema
cs/24.3/site-lisp \
> VERSION_SPECIFIC_LISPDIR=/usr/local/share/emacs/24.3/site-lisp \
> MANDIR=/usr/local/share/man INFODIR=/usr/local/share/info
/usr/local/share/emacs/24.3/bin/emacs -batch -q -no-site-file -l WL-MK -f compile-wl-package \
/usr/local/share/emacs/24.3/site-lisp /usr/local/share/pixmaps/wl
Loading d:/home/hoge/src/wanderlust-master/WL-CFG...
Loading d:/home/hoge/src/wanderlust-master/WL-ELS...
Cannot load `mime-setup'. Please install SEMI
Makefile:30: recipe for target `elc' failed
make: *** [elc] Error 127
525名無しさん@お腹いっぱい。:2013/03/20(水) 16:01:40.71 ID:atH7pbg+0
>>522
忘れてた。。

--- w32-symlinks.el.orig2013-03-16 07:36:04.447724600 +0900
+++ w32-symlinks.el2013-03-17 19:55:58.562132100 +0900
@@ -262,6 +262,7 @@
;; reverse-engineered by Jesse Hager <jessehager at iname.com>
;; available from http://www.wotsit.org/download.asp?f=shortcut.
(with-temp-buffer
+ (set-buffer-multibyte nil)
(let ((inhibit-file-name-handlers
(cons 'w32-symlinks-file-name-handler
(and (eq inhibit-file-name-operation 'insert-file-contents)
526名無しさん@お腹いっぱい。:2013/03/20(水) 16:19:30.74 ID:G8ZvNk060
>>524
Please install SEMI ってでてるけど?
527500:2013/03/20(水) 16:34:13.26 ID:ynhG8zfy0
>>526
すみません。wlのインストールが上手く行きましたが、今度はemacs-w3mでエラーになっちゃいました(><)。
だらだら書いて申し訳ありません。これとの依存のせいか、wlとの依存のせいか、byte-code: Cannot open load file: elmo-shimbunになってしまいました。

$ ./configure --prefix=/usr/local --with-emacs=/usr/local/share/emac
s/24.3/bin/emacs \
> --with-lispdir=/usr/local/share/emacs/24.3/site-lisp/w3m \
> --with-icondir=/usr/local/share/pixmaps/w3m \
> --mandir=/usr/local/share/man --infodir=/usr/local/share/info
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for makeinfo... makeinfo
checking for texi2dvi... texi2dvi
checking for ptex... ptex
checking for jbibtex... false
checking for dvipdfmx... dvipdfmx
checking for texi2pdf... texi2pdf
checking for egrep... egrep
checking for /usr/local/share/emacs/24.3/bin/emacs... /usr/local/share/emacs/24.3/bin/emacs
checking what a flavor does /usr/local/share/emacs/24.3/bin/emacs have... Emacs 24.3
configure: error: Emacs 24.3 is not supported.
528名無しさん@お腹いっぱい。:2013/03/20(水) 16:38:02.58 ID:EXZ3/t5g0
emacs-w3m はなんか無理やりバイトコンパイルだけした記憶があるな
529500:2013/03/20(水) 16:44:07.29 ID:ynhG8zfy0
ちょっと、やはりemacs24はDebian testingでもまだ無いから、23.4を使い続けることにします。
ご迷惑をお掛けしました。
530526:2013/03/20(水) 17:23:18.10 ID:G8ZvNk060
>>529
あー、断念されちゃったみたいですが、とりあえず。

24のどのバージョンでやったか忘れましたが、私が emacs-w3m をインストー
ルしたときは cvs で最新開発版をもってきてやりました。
(取得方法は http://emacs-w3m.namazu.org/index-ja.html 参照)

configure を作るために autoconf とか必要だったかと思います。

ntemacs関係ない話になってきたのでこのへんで。失礼しました > all
531500:2013/03/20(水) 17:40:03.71 ID:ynhG8zfy0
>>530
ありがとうございます。再度emacs-w3mをcvs update -dPAしてautoreconf掛けたら、うま
く行きました。しかし、wlのIMAPやPOP3のフォルダーを見ると、iso-2022-jpのメールが見
れなくなってしまいました。。。

Creating msgdb... 89%
Unknown charset: ISO-2022-JP [2 times]
Creating msgdb... 94%
Unknown charset: ISO-2022-JP [3 times]
Creating msgdb... 97%
Unknown charset: ISO-2022-JP [2 times]q
Creating msgdb...done
532名無しさん@お腹いっぱい。:2013/03/20(水) 18:25:20.72 ID:G8ZvNk060
>>531
うーん…これは見当つきません。初めて見るメッセージです…
533名無しさん@お腹いっぱい。:2013/03/27(水) 21:20:17.82 ID:eweuGTpR0
24.3 の公式バイナリいらっしゃいましたー
534名無しさん@お腹いっぱい。:2013/03/27(水) 22:21:46.22 ID:ALvuGjlw0
535名無しさん@お腹いっぱい。:2013/04/05(金) 23:01:17.57 ID:wQJ6ywnz0
GNUPACKの中の人最近忙しいのかな。emacsもまだテストリリースだし。
536名無しさん@お腹いっぱい。:2013/04/14(日) 02:45:22.41 ID:1yO1qr230
meadowについて語ってくれなスレッド
http://toro.2ch.net/test/read.cgi/unix/1005460254/
おいどういうことだこれ
何が潰してみろだこら


260 [2013/04/14(日) 00:55:51.44] 名無しさん@お腹いっぱい。 <sage>

じゃあ使うな
潰してみろ

261 [2013/04/14(日) 01:21:30.36] 名無しさん@お腹いっぱい。 <sage>

驚愕!NTEmacsを新参呼ばわりとは!
537名無しさん@お腹いっぱい。:2013/04/14(日) 02:46:02.02 ID:1yO1qr230
このゴミども叩きしてやっから!!!

259 [2013/04/13(土) 21:19:46.64] 名無しさん@お腹いっぱい。 <sage>

meadowは開発がうまく引き継がれなかったの?
gnupackとかWikipediaにすらのってない新参でしょ?

260 [2013/04/14(日) 00:55:51.44] 名無しさん@お腹いっぱい。 <sage>

じゃあ使うな
潰してみろ

261 [2013/04/14(日) 01:21:30.36] 名無しさん@お腹いっぱい。 <sage>

驚愕!NTEmacsを新参呼ばわりとは!
538名無しさん@お腹いっぱい。:2013/04/14(日) 02:46:51.16 ID:1yO1qr230
この即レスはないわ・・・きもっ
お望み通り潰してやるよwwwwwwwwwwwwww
539名無しさん@お腹いっぱい。:2013/04/14(日) 02:50:34.47 ID:1yO1qr230
こらあ
でこいや〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
540名無しさん@お腹いっぱい。:2013/04/14(日) 11:06:18.07 ID:O8JUcEIu0
sage
541名無しさん@お腹いっぱい。:2013/04/14(日) 14:54:43.46 ID:QWEULxzo0
定期つぶしあげ

260 [2013/04/14(日) 00:55:51.44] 名無しさん@お腹いっぱい。 <sage>

じゃあ使うな
潰してみろ

261 [2013/04/14(日) 01:21:30.36] 名無しさん@お腹いっぱい。 <sage>

驚愕!NTEmacsを新参呼ばわりとは!
542名無しさん@お腹いっぱい。:2013/04/14(日) 14:56:29.52 ID:QWEULxzo0
258 [2012/12/21(金) 12:07:05.57] 名無しさん@お腹いっぱい。 <sage>

もうネット上にmeadow使いの居場所はないってこった

■4ヶ月後
259 [2013/04/13(土) 21:19:46.64] 名無しさん@お腹いっぱい。 <sage>

meadowは開発がうまく引き継がれなかったの?
gnupackとかWikipediaにすらのってない新参でしょ?

■即レス
260 [2013/04/14(日) 00:55:51.44] 名無しさん@お腹いっぱい。 <sage>

じゃあ使うな
潰してみろ

261 [2013/04/14(日) 01:21:30.36] 名無しさん@お腹いっぱい。 <sage>

驚愕!NTEmacsを新参呼ばわりとは!
543名無しさん@お腹いっぱい。:2013/04/14(日) 14:59:33.75 ID:QWEULxzo0
gnupack作者ははvimの自力ビルドもできないのでレベルがひくすぎ
http://d.hatena.ne.jp/ksugita0510/20121006/p1

最近 gvimのバージョンアップが行えていないのですが,実はパッチ 7.3.653でビルドが失敗しており,
その原因が分かっていないためだったりします.
vim-7.3.tar.bz2と vim73src.zipを展開して,
ftp://ftp.vim.org/pub/vim/patches/7.3のパッチをすべて適用したソースに対し
MinGWでコンパイルしたのですが,
「xpm/x86/lib/libXpm.a: could not read symbols: No more archived files」となって
うまくいかないようです.
544名無しさん@お腹いっぱい。:2013/04/14(日) 15:03:26.83 ID:QWEULxzo0
それなのにgnupack(本家Emacs+IMEパッチ)に変わるwindows用emacsが
いまだにないのは嘆かわしいことだ
これは現状を見ないふりしてなんでも叩いてくる非生産的クズどものせい
545名無しさん@お腹いっぱい。:2013/04/14(日) 15:04:36.30 ID:QWEULxzo0
vimすらまともにビルドできないのによくやってるわなあ・・・
546名無しさん@お腹いっぱい。:2013/04/14(日) 16:09:01.90 ID:aZWyoGng0
文句言うならキミがやりなよ。
やらないなら、やってくれる人にアドバイスしてあげればいい。
自分で何もしないで、他人を手伝いもしないで、やってくれる人をけなしてるだけかよ

あと日本語対応Windows版Emacsはこっちもあるぞ。
http://hp.vector.co.jp/authors/VA052357/emacs.html
雑誌SoftwareDesignで開発記事を連載していた(「Emacs 64bit化計画!」)
http://gihyo.jp/magazine/SD/archive/2013/201303
547名無しさん@お腹いっぱい。:2013/04/14(日) 21:21:43.73 ID:1MRWi6pC0
なにこれw
548名無しさん@お腹いっぱい。:2013/04/14(日) 21:34:50.23 ID:m2jsS8fh0
23.4で十分なんだけどなぁ。。24はちょっと変更点あり杉。
549名無しさん@お腹いっぱい。:2013/04/27(土) 00:37:14.03 ID:wtpYUiVK0
Emacs24.3で、cp5022x.elを使っている方いますか?
自分は起動時に、cp5022.xのロードに失敗してしまいます。
何かいい方法はないでしょうか。
550名無しさん@お腹いっぱい。:2013/04/27(土) 01:28:18.42 ID:xUnNK2lI0
>>549
http://nijino.homelinux.net/emacs/cp5022x.el
cp5022x.elってこれだよね?
64bit版Win7SP1上で、MinGW+24.3のソース+gnupackのパッチでbuildしたNTEmacsだけど、
↑のcp5022x.elをsite-lispの下に置いて、Emacs起動して、*scratch*バッファで
(require 'cp5022x)
とした限りでは、特にエラーとか発生せずにロードできているみたいだよ
使い方判らないのでそれ以上は試してません
551名無しさん@お腹いっぱい。:2013/04/27(土) 07:07:03.34 ID:FdpDCU8i0
gnupack の emacs を最大化で起動するには config.ini をどの様に書けばいいのん?
552名無しさん@お腹いっぱい。:2013/04/27(土) 09:20:54.02 ID:PbrWs6Df0
>>551
init.elへ設定書くのはだめなの?
553名無しさん@お腹いっぱい。:2013/04/27(土) 09:28:43.17 ID:wtpYUiVK0
>>550
> >>549
> http://nijino.homelinux.net/emacs/cp5022x.el
> cp5022x.elってこれだよね?
> 64bit版Win7SP1上で、MinGW+24.3のソース+gnupackのパッチでbuildしたNTEmacsだけど、
> ↑のcp5022x.elをsite-lispの下に置いて、Emacs起動して、*scratch*バッファで
> (require 'cp5022x)
> とした限りでは、特にエラーとか発生せずにロードできているみたいだよ
> 使い方判らないのでそれ以上は試してません


自分は、emacs起動時に以下のエラーが出ます。
Symbol's value as variable is void: mime-charset-coding-system-alist
554名無しさん@お腹いっぱい。:2013/04/27(土) 10:08:40.82 ID:+DwRaFHI0
>>553
>Symbol's value as variable is void: mime-charset-coding-system-alist
gnupackに標準添付のinit.elを使ってるのかな?
自分はこれ使って無いので想像なんだけど、
mcs-20ってモジュールをロードした後にmime-charset-coding-system-alistにアクセスするんだよね。
ネットに転がってるmcs-20.elを見るとmime-charset-coding-system-alistを定義してるので成功し
そうなもんだけど、失敗するってことはmcs-20.elのロード自体が失敗してるとかじゃないのかね?

cp5022x.el自体とは特に関係無いと思う。
555名無しさん@お腹いっぱい。:2013/04/27(土) 19:30:35.17 ID:wtpYUiVK0
>>554
うーん。23.4から24.3に移行しようとしたのですが、やはり駄目でした。
556名無しさん@お腹いっぱい。:2013/04/27(土) 20:39:01.42 ID:+DwRaFHI0
>>555
うーん?何?cp5022x.elだけでも問題出るの?
557名無しさん@お腹いっぱい。:2013/04/28(日) 06:52:32.58 ID:v2ePiaxQ0
>>551
init.elにこの設定ではだめ?
(add-hook 'window-setup-hook
#'(lambda () (w32-send-sys-command ?\xF030)))
558名無しさん@お腹いっぱい。:2013/04/28(日) 06:59:08.58 ID:K6Ql2BT80
>>557
出来ました いつもありがとう!
Emacsスレの人はいつも解を用意してくれるから大好き!
559名無しさん@お腹いっぱい。:2013/04/28(日) 10:28:42.51 ID:Zdyw8Rma0
>>553
> >>550
> > >>549
> > http://nijino.homelinux.net/emacs/cp5022x.el
> > cp5022x.elってこれだよね?

自分は、cp5022x.el以外に、このサイトのコンフィグをそのまま貼り付けているのですが、
それだとエラーが出てしまいます。
しかし、それだと機種依存文字(丸数字)が出ないので、困りものです。
560名無しさん@お腹いっぱい。:2013/04/28(日) 11:28:54.17 ID:LvpOoeiQ0
>>559
GnusとかWanderlustとか使って無いなら、
最後の方
;; Gnus

;; SEMI

この辺をコメントアウト(前に;;をつける)してしまえよ。

GnusとかWanderlustとか使うなら、
SEMI関連を24.3対応版にアップデートする必要があるのかな。
561名無しさん@お腹いっぱい。:2013/04/28(日) 13:20:32.21 ID:Zdyw8Rma0
>>560
> >>559
> GnusとかWanderlustとか使って無いなら、

はい、使っています。

> GnusとかWanderlustとか使うなら、
> SEMI関連を24.3対応版にアップデートする必要があるのかな。

これは、semi関連のエラーなんですか、ありがとうございます。
でも、semiのHEADが2003年なんですよねぇ。。
しばらく、semiがアップデートするまで、23.4で様子を見てみます。

あと、wlのメーリングリストで見付けたんですが、wl自体も24に対応させる必要があるみ
たいです。
562名無しさん@お腹いっぱい。:2013/04/28(日) 16:48:19.07 ID:9ur4dh7V0
563名無しさん@お腹いっぱい。:2013/05/01(水) 10:41:12.57 ID:RiqS530e0
このようにWindows環境でEmacsを常駐化して”送る”でテキストファイルを送って早く開く事ってできるのかな?
d.hatena.ne.jp/tyru/20130430/vim_resident

今は早く開いて作業をしたい時のエディタとガッツリ編集したい時用のEmacs(gnupack)でわけてるから、これが出来たら凄く捗るんだけどなぁ…なんて妄想してます
564名無しさん@お腹いっぱい。:2013/05/01(水) 11:35:30.74 ID:y4wvVFaY0
init.elに(server-start)とか追加しておいて、
emacsclientw.exeあたりをSendToに登録しておけばできるんじゃないのかね。
565名無しさん@お腹いっぱい。:2013/05/01(水) 12:23:32.74 ID:Km3pVJQ40
>>563
普通に拡張子.txtをemacsに関連付けすればいいのでは?
566499:2013/05/03(金) 11:34:03.18 ID:QEfy+CsO0
いまいち理解しきれてないので少々怪しげですが^^;
>>499のパッチをw32_call_lisp_thread()を使用しないようにしてみました。

ime-enable-document-feedがtのとき(blink-cursor-mode 0)すると変換時に
そのあたりで固まるので。

あと本家trunkでmingw-w64での32bit版ビルドができるようになっているので
そこらもtrunkにあわせ修正したつもりです。

http://www1.axfc.net/uploader/so/2888671

>>499のパッチ(か、gnupack emacs-24.3-ime-2013-03-16.patch)
を当てた後に当ててください。

ビルド時のconfigure.batの指定はパッチ前と同じでよいです。
ただし--cflagsに-DUSE_W32_CALL_LISP_THREADを指定した場合は前と同じに
w32_call_lisp_thread()を使用するものになります。
567499:2013/05/03(金) 11:35:39.55 ID:QEfy+CsO0
もう一つ、cygwin emacs-w32用imeパッチ。

http://www1.axfc.net/uploader/so/2888672

emacs-24.3の元ソースに当てて

./autogen.sh
./configure --with-w32 \
CFLAGS="-O2 -DUSE_W32_IME -DRECONVERSION -DHAVE_RECONVERTSTRING \
-DDOCUMENTFEED -DHAVE_IMR_DOCUMENTFEED"
make

でビルドしてください。
cygwin64のパッチも混ぜてあるのでcygwin64でもビルドできるはずです。

configureまわりの修正方法がよくわからなかったのでsrc/config.hに#define
されるようにはなっていません。
configure実行時にCFLAGSで上記のように指定してください。

gcc-3だと(少なくとも私の環境では)configureでエラーになったのでgcc-4を
インストールしておいた方がよいかと思います。

-DHAVE_CMIGEMO追加でcmigemo組み込みも可能です。
組み込む場合はcmigemoソースを取得して

./configure
make cyg-install

でインストールしておいてください。
568499:2013/05/03(金) 15:36:56.65 ID:7ZH4G9C30
早っw
gnupackさん>>566当てたもの もう置いてるw
569名無しさん@お腹いっぱい。:2013/05/03(金) 19:13:14.31 ID:53RRFddO0
コレ(>>563)とはちょっと違うけどタスクトレイに常駐してファイルを開いた時に素早く開ければ便利だと思った。
570名無しさん@お腹いっぱい。:2013/05/03(金) 21:02:07.21 ID:mNcp266k0
>>563とも>>569とも違うけど開きっぱなしにしといてファイルをドラッグ&ドロップ
とかじゃだめなんかね
571名無しさん@お腹いっぱい。:2013/05/03(金) 21:56:20.07 ID:omN9wkwm0
gnuclientとかでいいんじゃね?
572名無しさん@お腹いっぱい。:2013/05/04(土) 23:32:09.24 ID:OcJrCE7B0
失礼します、ここ情報を参考にさせて頂いて
自分でbuildしたEmacs 24.3.1 (i386-mingw-nt6.1.7601)
(IMEのパッチはemacs-24.3-ime-2013-03-16)
>configure.batのオプションは
--no-debug
--with-gcc
--enable-w32-ime
--with-svg
--cflags -DRECONVERSION
--cflags -DDOCUMENTFEED
--cflags " -DIMR_DOCUMENTFEED=7"

でIME(MSとGoogle)から日本語入力すると???に化けるんですが、何故か分かりますでしょうか?
gnupackのemacsや公式の24.3バイナリなら同じinit.elの設定で問題無いので
ビルド時におかしなことになってる気がするのですが…
573名無しさん@お腹いっぱい。:2013/05/05(日) 08:13:00.43 ID:GMHhqwPC0
gnupackの24.2以前のパッチだと-DIME_UNICODEなしでビルドすると化けてたから
ビルドするソース間違えたとか?
そうでないならわかりません。
574567:2013/05/11(土) 19:07:18.33 ID:n3Vss1OV0
cygwin emacs-w32用パッチ(>>567)を少し修正。
パッチ本体は変わりませんが>>567でCFLAGSに-Dで指定していたものを
configureでsrc/config.hに#defineするようにしてみました。

http://www1.axfc.net/uploader/so/2898856

>>567のパッチ後に当ててください。

./autogen.sh
./configure --with-w32
make

でビルド。デフォルトで w32-ime、reconversion、documentfeed、
(migemo.hがあれば)cmigemo が有効になるので./configureでパッチ関係の
指定は不要。無効にしたい場合に以下を指定。

--without-cmigemo : cmigemo組み込み無効
--without-documentfeed : DOCUMENTFEED無効
--without-reconversion : RECONVERSION、DOCUMENTFEED無効
--without-w32-ime : W32-IME、RECONVERSION、DOCUMENTFEED無効


デフォルトでCFLAGSが-g3 -O2になるようなのでビルドしたemacsのファイル
サイズがデバッグ用情報で大きくなります。気になるようならconfigure時に
CFLAGS=-O2を指定するか、ビルド後にstrip emacs.exeするなどしてください。
575名無しさん@お腹いっぱい。:2013/05/11(土) 21:26:57.69 ID:6t09IBCWP
gnupack最高。メンテナの人、ありがとう。

Fixed98Epson使いたいんだけど、どうすればいいんだろう。

やったこと:
「メニュー>オプション>標準のフォントを設定」で、
Fixed98Epsonをえらんだら、↓って言われて蹴られた。

set-face-attribute: Font not available:
#<font-spec nil nil Fixed98Epson nil nil nil nil nil
12.0 nil nil nil ((:name . "Fixed98Epson-12")
(user-spec . "Fixed98Epson-12"))>
576名無しさん@お腹いっぱい。:2013/05/14(火) 08:03:25.43 ID:/zw0B3RH0
gnupack ありがと

現状おかしな部分があるんで見てもらえると助かります
ごめんなさい、深追いはしてないです
OSはWindows8 pro、IME はWindows8 に付属したMS-IMEです

・でかいファイルを開いて end-of-buffer() → beggining-of-buffer() すると
 その直後の window-start(), window-end() が非常に遅い
 end-of-buffer() → (goto-line 1) のあとは問題ない
 このため linum-mode がとても遅くなる

・IME ON/OFF の切り替えがなんだかおかしい
 いわゆるX mouse状態で使っている関係もあるかも
 MS-IME側のON/OFF切り替えキーで制御してるんだけど、emacs側と同期していないような感じ
 mini buffer 使うときに結構ストレスがたまる

で、 X window での xev みたいなもの(イベント表示)が実現できたように思うんだけど、
何を使えばいいんだっけ? Meadow で isearch + IME を実現しようとしているときに
散々使った覚えがあるんだけど

もう一つ
emacs-clang-complete-async が動いている人がいたら情報ください
save-buffer() / kill-buffer() すると固まっちゃうんだ
577566:2013/05/14(火) 21:00:37.58 ID:TYU8HuIc0
他はわからんのでIMEのとこだけ。

X mouseって何かわかりませんがタスクバーのIMEの表示がON/OFFで変わらない
とかなら、Windows8だとそんなもんかと。

8のIMEまわりは7以前と何か違っているようでemacsからは7以前と同じには
ならないようです。ON/OFFできないとかこのスレで誰か騒いでた。

>>499以降のパッチでは
コントロールパネル→入力方法の変更→詳細設定 の
「アプリウインドウごとに異なる入力方式を設定する」にチェック無し
の場合はとりあえず使える、ぐらいにはなってると思いますが(そうしている
つもり)、チェック有りのときに全くON/OFFできなくなるのはどうすればいい
かわかりません。このあたり詳しい方いたら情報もらえるとうれしい。

minibuffer使用時のストレスってのはON/OFFどっちになってるのかわからない
ってことですかね?
私はON/OFFでカーソルの色を変えてるので特に不便は感じていません。
578名無しさん@お腹いっぱい。:2013/05/14(火) 21:58:12.24 ID:6Lrk49t50
w32-symlinksについて教えてください。

Windows7の上で動かしているgnupack 11.00でdiredを動かし、
適当なファイルにカーソルを当ててSキーを押すと、Windowsの
ショートカットが作成されます。

これが、英数のファイルだと正しくショートカットとして
diredから表示されるのですが、漢字を含むファイルだと
ショートカットとして表示されません。(.lnkがsuffixの普通の
ファイルとして表示される。) つづく..
579名無しさん@お腹いっぱい。:2013/05/14(火) 22:00:59.65 ID:6Lrk49t50
ただ、その漢字ファイルに対し、Windowsのシェルからショート
カットを作ると、diredからも正しく(ショートカットとして)
表示されます。

w32-symlinksは、ホームディレクトリにできるw32-symlinks-ln-s.js
というスクリプトでショートカットを作っているようなので、
これを直接コマンドプロンプトから動かしてショートカットを
作ってみましたが、状況変わらずでした。

w32-symlinks-ln-s.jsで作成したショットカットに対して
file-symlink-pをするとnilが返るのが問題のような気もして
いますが、この辺りについて何か分かる方おりますか?
580576:2013/05/15(水) 08:59:01.13 ID:GockpgdJ0
>>577
ありがと
X mouse っつーのは、マウスカーソルがあるところにフォーカスが移る設定のこと
以前は power toy の中に設定するツールがあったんだけど、今はないのでレジストリをいじると
これ使うと、以前から微妙におかしな動きをするアプリがあったんだよね
Meadow も微妙だったような

ストレスのほうだけど、 mini buffer に移ってから最初の切り替えがスルーされるんで、
どっちのモードにいるんだかわからなくなっちゃうってことかな
とりあえず、カーソル色の切り替えを有効にしてみました

ほかのことは時間を見つけてちょっとずつ進めていきます
581名無しさん@お腹いっぱい。:2013/05/15(水) 21:53:55.22 ID:D6tNml/s0
>>578
diredで正しく表示されるショートカットとされないショートカットでは、
ショートカットのFlags領域の内容が違うことが分かりました。
ithreats.files.wordpress.com/2009/05/lnk_the_windows_shortcut_file_format.pdf

Windowsではどちらも同じように見えるのですが..。
582名無しさん@お腹いっぱい。:2013/05/16(木) 12:10:53.08 ID:DCQSth3r0
>>581
英数文字のファイル名の場合は問題ないなぁと眺めていくと、
w32-symlinks-unicode-to-asciiの変換でエラーとなっていることが分かりました。
この関数は英数文字の変換のみを前提にした実装となっているようです。
なので、以下のアドバイスで内容を置き換え、とりあえず動くようにしました。

(defadvice w32-symlinks-unicode-to-ascii (around ad-w32-symlinks-unicode-to-ascii activate)
(setq ad-return-value (decode-coding-string (ad-get-arg 0) 'utf-16le)))

あとは、dired-do-renameがうまく動かないのを調べてみたいと思います。
583名無しさん@お腹いっぱい。:2013/05/20(月) 08:24:16.63 ID:QC5edegU0
>>582
同じフォルダ内の移動は、以下でうまくいくようになりました。

(defadvice w32-symlinks-parse-shortcut (around ad-w32-symlinks-parse-shortcut activate)
(if (file-exists-p (ad-get-arg 0))
ad-do-it))

でも、別フォルダに移動すると、リンク先のパスも一緒変わります。
(Windowsのシェルで作ったショートカットは変わらない。)

(setq w32-symlinks-shortcut-target t)

とすると、ショートカットの表示がそのようになるので、これが正しい挙動なのかなぁとも。
584名無しさん@お腹いっぱい。:2013/05/23(木) 01:05:04.31 ID:YYwVzEeO0
>>576

> もう一つ
> emacs-clang-complete-async が動いている人がいたら情報ください
> save-buffer() / kill-buffer() すると固まっちゃうんだ
動いてます。
win7 64bit
cygwin + gnupack emacs-only
585584:2013/05/23(木) 02:13:30.34 ID:YYwVzEeO0
>>576
> > save-buffer() / kill-buffer() すると固まっちゃうんだ
このときに、タスクマネージャーを開いてclang-complete.exeを終了させたら復帰しませんか?
586名無しさん@お腹いっぱい。:2013/05/23(木) 10:03:43.20 ID:gd7D1afo0
gnupackの 24.3.1 of 2012-05-03 を Win7 64bit SSD機で使わせてもらってます。
日本語入力してるとたまに落ちます。
以前は同じ環境で 24.2 2012 09 02をずっと使っていて問題なかったです。
24.3にしてからやったのは wlを 201209230900に上げたのと emacs-w3mの最新を checkoutして入れたぐらいです。
でも落ちるのはこれらと関係なくソースのコメントとか書いてる時が多い(単にその時間が多いだけだろうけど)です。
何か原因究明のヒントなどあれば宜しくお願い致します。
587名無しさん@お腹いっぱい。:2013/05/23(木) 20:22:43.47 ID:GYL4ASAG0
24.3のimeまわりで以前からの変更の大きいのは前後参照変換あたりなのでとりあえず
(setq ime-enable-document-feed nil)
をinit.elに入れてみるとどうでしょうか。
588名無しさん@お腹いっぱい。:2013/05/24(金) 08:02:31.86 ID:+AsJwJ8m0
ありがとうございます。
そういえば…elscreenも、何か相性悪くなっていたので tabbarに変えました。
関係無い気はしますが、使用/不使用で試して見ます。
589名無しさん@お腹いっぱい。:2013/05/24(金) 13:36:11.45 ID:+AsJwJ8m0
>>587
この可能性高いかも…
自分、blink-cursor-mode 0で点滅止めて使ってました。
590名無しさん@お腹いっぱい。:2013/05/24(金) 19:40:33.54 ID:rr0H1dCE0
点滅止めて明らかに影響ある(固まる)のはgnupack emacs-24.3-20130317
で、emacs-24.3-20130503では点滅止めること自体は問題ないと思いますが…

私はそんなにヘビーにemacs使ってないからか今のところ落ちないのでよくわか
りませんが、前後参照変換を無効にして落ちなくなったのなら点滅はたぶん
関係なくて20130503での修正に何かしらまずいところがあるような気がします。
591576:2013/05/25(土) 09:46:07.19 ID:KrjNseyi0
>>585
はい。復帰します。でもこれじゃ実用にならないんで、どうしたもんかと。
C側の標準出力フラッシュの問題かとも思って、さらっとソース眺めてみたらfflush()呼んでたんで問題なさそう。
それに受信側の問題だったら固まらそうな気がするんで、送信側の問題かと思っています。
一応、C側にバッファ内のソースをまともに encode せずに単に binary で送っていたんで、
encode してから送るようにしてみたんだけど変化なしだった。こんな感じ。

(defun ac-clang-send-source-code (proc)
  (save-restriction
    (widen)
    (let ((source-buf (current-buffer))
      (cs (coding-system-change-eol-conversion buffer-file-coding-system 'unix)))
      (with-temp-buffer
    (set-buffer-multibyte nil)
    (let ((tmp-buf (current-buffer)))
      (with-current-buffer source-buf
        (decode-coding-region (point-min) (point-max) cs tmp-buf)))
    (ac-clang-process-send-string
     proc (format "source_length:%d\n"
              (length (string-as-unibyte ; fix non-ascii character problem
                   (buffer-substring-no-properties (point-min) (point-max))))))
    (ac-clang-process-send-string proc (buffer-substring-no-properties (point-min) (point-max)))
    (ac-clang-process-send-string proc "\n\n")))))

もうちょっと真面目に調べたいとは思っているんだけど本業が忙しくて...
592名無しさん@お腹いっぱい。:2013/05/25(土) 10:05:00.61 ID:wB1oiENb0
>>591
本業はなんなの?
593名無しさん@お腹いっぱい。:2013/05/25(土) 21:27:37.23 ID:Cd3+uqoV0
>>591
> >>585
> はい。復帰します。でもこれじゃ実用にならないんで、どうしたもんかと。
> C側の標準出力フラッシュの問題かとも思って、さらっとソース眺めてみたらfflush()呼んでたんで問題なさそう。
> それに受信側の問題だったら固まらそうな気がするんで、送信側の問題かと思っています。
> 一応、C側にバッファ内のソースをまともに encode せずに単に binary で送っていたんで、
> encode してから送るようにしてみたんだけど変化なしだった。こんな感じ。
>
save-buffer, kill-bufferで問題がでるのは思い当たる節がある。
上記2関数は
(add-hook 'kill-buffer-hook 'ac-clang-shutdown-process nil t)
(add-hook 'before-save-hook 'ac-clang-reparse-buffer)
されていて、
ac-clang-reparse-bufferに問題があがる。
うちだとshutdownはちゃんと動いてる
ac-clang-reparse-bufferが実行されると
clang-complete.exeの
void completion_doCmdlineArgs(completion_Session *session, FILE *fp)
が実行されてlibclangのAPI
completion_reparseTranslationUnit(session)
が実行されるのだが、この関数でクラッシュしてclang-completeが落ちる
なので、(defun ac-clang-send-cmdline-args (proc)を呼ぶと落ちる。
とりあえずこの代替として、
(defunc update ()
(shutdown)
(launch))
でcflagを再セットするようにした。
594593:2013/05/25(土) 21:36:11.29 ID:Cd3+uqoV0
>libclangのAPI
>completion_reparseTranslationUnit(session)
ちょっと訂正。
APIはさらにこの中の
clang_reparseTranslationUnit
でした。

clang-completeはどこでビルドしてますか?

当方の環境は
cygwin-1.7.18
clangはcygwin bundle版
clang/llvm 3.1.3
clang-completeはこれを使ってビルド。

上記のAPIクラッシュはclang側でも認識しているようで、3.1以降でfixされているようです。
clang-complete-asynはclang3.1以外で試してないです。
そのうちやる予定ですが・・。
595593:2013/05/25(土) 21:40:22.42 ID:Cd3+uqoV0
> 一応、C側にバッファ内のソースをまともに encode せずに単に binary で送っていたんで、
> encode してから送るようにしてみたんだけど
これですが、ちょっと参考にさせてもらいます。
別の不具合があって、
clang-complete対象バッファに2バイトコード(コメントだったとしても)があると補完されず、clang-completeがエラーを返す。
この問題はlibclangだけの問題で、
同じコードを clang.exeから直接補完指定した場合は正しく動きます。
あと、上のencode処理ですが、該当バッファだけ行っても
includeされるファイルまでは適用されないので、どうしようかと思ってます。
596576:2013/05/26(日) 14:52:58.17 ID:8JXHX+340
>>592
ただのソフト屋。本業で使えればかなりうれしいんだけど…ってやつ

>>595
cygwin/clang は同じものっぽい。
関係ないと思いたいけど、前にも書いたけど Windows8 pro 使ってる
clang-complete.exe が落ちるってことはない

> includeされるファイルまでは適用されないので、どうしようかと思ってます。
includeされるファイルについては保存されているものが使われるんで、問題ないような

> clang-complete対象バッファに2バイトコード(コメントだったとしても)があると補完されず、clang-completeがエラーを返す。
「対象行のポイントより前の部分に2バイトコード」ってことならしたのが効くかも(not tested)
;; defsubst なんで、コンパイルして使っているなら再コンパイルしてね@老婆心

(defsubst ac-clang-create-position-string (pos)
  (save-excursion
    (goto-char pos)
    (format "row:%d\ncolumn:%d\n"
            (line-number-at-pos)
        (1+ (length (encode-coding-string
             (buffer-substring (line-beginning-position) (point))
             buffer-file-coding-system))))))
597名無しさん@お腹いっぱい。:2013/05/27(月) 14:01:27.27 ID:9IsWzd670
>>596
> >>595
> cygwin/clang は同じものっぽい。
> 関係ないと思いたいけど、前にも書いたけど Windows8 pro 使ってる
> clang-complete.exe が落ちるってことはない
そもそもうちだと cygwinが win8でまともに動かない。
makeやgcc動かすとコアダンプするレベル。
rebaseとかしても改善しないし、VMware上や会社のpcでやっても同じなので
落ちる問題はwin8特有の問題と思われる。
関係あるかわからないけど、VMwareにwin7とか入れて試してみたらどうです?
598576:2013/05/27(月) 21:56:16.22 ID:93q+FUOO0
>>597
うーん。そこまでやるなら仮想マシンにubuntuなりいれてそっちでやるよ
今日、 >596 までのコード入れてみたら、何が良かったのかわからないけど、
>>595 レベルと似たようなレベルになったみたい
*clang-complete*がエラーの山になるところは確認できたから明日もう少し追ってみようと思ってる

lgrep が落ちるしWindows8はかなりつらいねorz
599585:2013/05/29(水) 18:40:42.14 ID:N04obCDm0
>>591
このコードいれたらマルチバイトかいけつしたわ
感謝!!
600名無しさん@お腹いっぱい。:2013/06/08(土) 03:56:24.53 ID:FIXbr+q70
最近 org-mode を使いたいがために、NTEmacs 入れたんだが、なぜか utf-8 で
使わないといかん的な気持ちになって、必死で utf-8 環境整えた
んで、困ったのは grep

win-bash てのからパクった grep で用が足りたと思いきや、utf-8 で保存したファイル
から全然拾ってくれん
調べたら、NTEmacs から外部プロセスへ引数として渡せる文字列は、コードページに
依存するということで、つまり日本語 Windows 使う限り cp932 限定

それじゃってんで、渡す文字コードとファイルの文字コードと返す文字コードを指定できる
grep とかねえかと探したら、lgrep なるものを発見
あまりに俺が欲しい物過ぎて感動したのも束の間、どうやら cygwin インストせにゃ
いかんぽい

org-mode 使いたいだけなのに cygwin 入れるのはアホらしいので、何か方法はないかと
探したら、mingw で win版 lv 作れることが判明
ただし、バージョン古めの 4.21

んで、早速 make して使ったら、挙動が grep じゃなくてビューアー
起動オプション指定し忘れかとまた調べたら v4.21 は grep モード実装する前の
バージョンだと知り愕然
なんだよ、結局 cygwin 入れなきゃならんのか、と頭抱えてからふと思った
そもそも、なんで utf-8 で回そうと思ったんだろう

もう疲れ果てて、調べる気がおきんw
だれか、教えてくれ
org-mode @ NTEmacs は sjis-dos で無問題?
601名無しさん@お腹いっぱい。:2013/06/08(土) 04:13:10.30 ID:4Zl6ecwA0
つ jvgrep
602名無しさん@お腹いっぱい。:2013/06/08(土) 04:29:01.86 ID:4Zl6ecwA0
>>601
あ、ごめん。忘れてw
603名無しさん@お腹いっぱい。:2013/06/08(土) 05:09:54.17 ID:4Zl6ecwA0
ここで公開されてよw

http://amura-log.blogspot.jp/
604600:2013/06/08(土) 05:49:03.26 ID:FIXbr+q70
>>603
お前は神か
早速試すわ
ありがとう
605名無しさん@お腹いっぱい。:2013/06/08(土) 12:36:28.04 ID:bB/kwevs0
>>600
以前このスレで話題にし、解決方法を以下に記録してました。
www49.atwiki.jp/ntemacs/pages/16.html

gnupackでしかテストしていませんが、windowsのemacsをutf-8で使う
場合でも、プロセスコールのパラメータをcp932で渡せます。
606名無しさん@お腹いっぱい。:2013/06/08(土) 15:52:21.67 ID:fVBE4vkE0
ラスポスはゲイツだった
ワイルドカードを展開しない windows shell の糞仕様
win-bash の grep は自前で展開してたのんだね、エライ

elisp で関数用意すれば何とかなっちゃうんだろうが
素人がそれを作り上げるまでに、何日かかるかわからんから
却下
目的と手段が逆転しかねんし
もう、sjis-dos でいいや


>>605
これ読んだ記憶あるけど、正直意味わかんなかった

elisp コードはもともとよくわからんが、コメント読めば
だいたいやってることはわかる
で、疑問として、細工しなくても cp932 で渡っちゃうのに
なんでわざわざこんなことすんのかと

まあ、俺が何か誤解してんだろうけど
607名無しさん@お腹いっぱい。:2013/06/08(土) 15:55:42.19 ID:fVBE4vkE0
>>606
自己レス
>>606 の投稿者、あとこれもだけど、は600の人ね

まあ、過疎スレだからわかるとは思うが、念のため
608605:2013/06/08(土) 17:10:08.15 ID:bB/kwevs0
>>608
外部プロセスへ引数の話があったんでURL紹介したんだけど、
cygwin使ってなければ関係ないかも。失礼。

605の設定が必要なのは、LANGの設定をutf-8にしているcygwinを
emacsから使う時に必要となります。
609600:2013/06/08(土) 21:29:15.67 ID:dfkneIQB0
>>608
なるほど、そういうことか
確かにうちの環境には cygiwin 入れてない

実際、>>605 のコードを設定ファイルに書いてないが
.emacs に以下を足し

(require 'grep)
(grep-apply-setting 'grep-command "lgrep -n -g -Iu8 -Ks -Os ")

>>603 推奨の lv でワイルドカード使わずに、地道にファイル列挙すれば
(オプションの意味は、ファイルは utf-8 で書かれてるとみなし
キーボード入力、つまり NTEmacs から渡される文字コードを sjis として扱い
アウトプットは sjis で出力)、日本語検索時も文字化けすることもなく
無問題だった
610605:2013/06/08(土) 22:24:44.03 ID:bB/kwevs0
>>609
emacsからプロセス起動する際のパラメータのcoding-systemは、
process-coding-systemの出力設定に従っているんだと思う。
なので、cygwinをutf-8で使おうとして、default-process-coding-system
の出力設定をutf-8にすると、Windowsのコードページでパラメータを
渡さなくてはならない制約に引っかかる。605はそれの対策。
grepの話は、lgrepを使うといろいろな文字コードのファイル
直接読み込んで検索できるって話なので、また別な話ですね。
lgrepをcp932のパラメータで起動しなくてはならないってのは
一緒の話だけれども。
611名無しさん@お腹いっぱい。:2013/06/09(日) 03:14:51.52 ID:n854jf9t0
>>610
cygwin なくても関係あるみたい

諦めきれなくて、いろいろ考えてるうちに grep 以外の捨ててた
win-bash の実行ファイル使って grep-find すればいいことに気づき

find ./org -type f | xargs lgrep -n -g -Ks -Iu8 -Os "漢字"

とかしてみた
コマンドプロンプトからは成功するが、NTEmacs の grep-find だと

Grep finished with no matches found at 日時

と表示されて失敗
そこで、>>605の url の設定をコピペすると、あっさり成功

というわけで ID:bB/kwevs0 さん、ありがとう
あなたがいなけば、sjis-dos の日々を過ごすことになってましたw
612605:2013/06/09(日) 13:29:57.82 ID:hIt2w4Kd0
>>610
win-bashには、bashもついているんだよね?
であれば、find使わなくても、shell-file-name変数にそのbash
コマンドを設定すれば、ワイルドカードの面倒見てくれたりしない
のかな? 他に影響でるかもしれないけど。

また、605の設定使わなくても以下だけでうまくいくような気がする。
試してみて。lgrepのsjisはcp932のことだと思うけど、emacsのsjisは
jisx0208のこと指しているので、普通cp932使います。
(setq default-process-coding-system '(undecided-dos . cp932-dos))

あと、せっかくlgrep使うなら-Iaを使った方がよくないですかね?
613名無しさん@お腹いっぱい。:2013/06/13(木) 22:38:43.73 ID:FXD6ywcd0
ご指摘の設定で、grep スクリプトもうまく動作しました
もう完璧

sjis とは cp932 のことだとばかり思ってましたが、違うんですね
初めて知りました

いや、本当にいろいろ助かりました
改めて感謝
614名無しさん@お腹いっぱい。:2013/06/13(木) 22:52:41.11 ID:FXD6ywcd0
補足

直したのは default-process-coding-system だけで
shell-file-name 変数の方は、他の影響を考えて止め
スクリプトで逃げときました
615605:2013/06/14(金) 12:43:07.83 ID:uBEn3WiP0
grep-mode動いたんですよね。であれば、*grep* バッファで
C-cC-fを入力して、バッファの中移動してみましょう。
Next-Error-Follow minor modeってのが動くよう。
私は最近知りました。
616576:2013/06/15(土) 11:07:15.40 ID:8GM+n2pX0
auto-complete-clang-async.el を少し時間が取れたんで、少し直してみました。
http://www1.axfc.net/uploader/so/2935507.gz

・マルチバイト文字対応
  - ファイル本体のマルチバイト対応
   (buffer-file-coding-systemが確定していない状態だとどーなるかわからない。そのうち直すかも)
  - オプション指定文字列のマルチバイト対応(未テスト^^;)
・プロセス管理が変だったのを直した。
  - kill-buffer() の順序によってはプロセスが残る
  - 強引にclang-completeを殺すと kill-buffer() できなくなる
・その他
  - ちょっとだけファイルをきれいにした。
・今後
  - 関数を補完したときに仮引数まで展開されるのがうざいので、ちょっと工夫したい。

いつか本家に戻すつもりでいますので、なにか問題があれば教えてもらえると助かります。
617576:2013/06/15(土) 11:33:05.25 ID:8GM+n2pX0
まともに調べてないけどコンパイルオプションが長いと clang-complete.exe が落ちる問題は、
LINE_MAX を大きくするように再定義してあげると直かもしれない。
libclang 側の仕様を調べていないんで、いくつくらいが適当かはわからない。
618576:2013/06/16(日) 06:09:18.87 ID:wDT6JVjY0
Emacs Part 43
http://toro.2ch.net/test/read.cgi/unix/1370754332/29
Windows環境固有の話もありそうなんでこちらでやらせてもらいます。

> ファイルを8個以上ひらくとパイプエラーになってしまうのでそれ以上開けない。
cygwinのemacs?gnupack (mingw32) の emacs だと、clang-complete が30個までは動いてる。
それを超えると確かに開けなくなるね。

> 別バッファにincludeされる対象のファイルを自動的にオープンすることがあり
どうせすぐに閉じられるファイルに対して ac-complete-clang-async (以降 acca) が動いてもむなしいんで、
こういう時には動かさないようにしたいな。(semantic-find-file-noselect()に細工すればいいかな?)
それに、たくさん開いていても、ある時間内に編集するファイルってそう多くないと思うんで、同時起動する数に制限を
かけるという方向も考えてみる。

> これで応答がなくなってしまったことがあり
プロセスに何をさせようとしたときか教えて。
ずっと ac-clang-reparse-buffer() で固まってしまっていたんで、 upしたファイルだと system-type が
windows-nt のときはこれを呼ばないようにしてる。でも、今試したらまともに動くようになっていた。
ファイルをプロセスに送るとき、バイト数を送ってるんでマルチバイト文字の処理をちゃんとしていないと、
実際のサイズが狂ってしまい、その結果プロセスの気が狂っていたんじゃないかと思う。

> ただemacs-lisp自体はシングルスレッドなんですよね?
> 平行性はどういう単位で実現されているのかで、問題の解決方法が変わってくるとおもいます。
イベントループがあってアイドル状態になった時に、キー入力(マウスなんかの操作もこれに変換される)、
外部プロセスからの入力(pipe/socket)、タイマーイベントがあればそれに対応する処理が動くって
構造のなんで、明示的にイベントを受けるか、アイドルに戻さない限り別の処理が動くことはないという認識。

semanticの解析をclangに肩代わりさせることはできないかと妄想中。
619名無しさん@お腹いっぱい。:2013/07/06(土) NY:AN:NY.AN ID:t+wWBiWX0
helmについて教えてください。
(helm-mode 1)としてhelmを使うと、いろいろなところがhelmのインタフェースになります。
diredもその一つなのですが、+キーでフォルダを作成する際にhelmのインタフェースになり、
その時に漢字を入力することができません。対応方法わかる方、ご教示ください。
620名無しさん@お腹いっぱい。:2013/07/07(日) NY:AN:NY.AN ID:gG/jH3OV0
>>619
最適解かはわかりませんが、自己解決しました。

(add-hook 'helm-after-initialize-hook
(lambda ()
(setq select-window-functions nil)
(setq w32-ime-composition-window (minibuffer-window))))

(add-hook 'helm-cleanup-hook
(lambda()
(add-hook 'select-window-functions 'w32-ime-select-window-hook)
(setq w32-ime-composition-window nil)))
621名無しさん@お腹いっぱい。:2013/07/07(日) NY:AN:NY.AN ID:gG/jH3OV0
自分の現在のhelmの設定をwikiにまとめてみました。
www49.atwiki.jp/ntemacs/pages/32.html
622名無しさん@お腹いっぱい。:2013/07/07(日) NY:AN:NY.AN ID:gG/jH3OV0
>>620
(setq select-window-functions nil)
のところは、
(remove-hook 'select-window-functions 'w32-ime-select-window-hook)
の方がいいかも。wikiは直しました。
623名無しさん@お腹いっぱい。:2013/07/07(日) NY:AN:NY.AN ID:gG/jH3OV0
w32-ime-buffer-switch-pをtにしていなければ、helm利用時でもminibufferに
漢字入力はできたようです。なので、上記の設定はw32-ime-buffer-switch-p
をtにしている際に必要な設定でした。もうちょっと違う解があるような気が
しますが、わかる方いたら教えてください。
624名無しさん@お腹いっぱい。:2013/08/05(月) NY:AN:NY.AN ID:gdBAv7aX0
過疎っててさびしいので投稿。

helm-locateでanything-filelistの様に動くコマンドを考えてみました。
and検索もできます。改行部分は繋げてください。
(setq helm-locate-command "locate_case=$(echo '%s' | sed 's/-//');
cat ~/tmp/all.filelist | perl -ne \"$(echo %s | sed -r 's/^ +//' |
sed -r 's/ +$//' | sed -r 's_ +_/'$locate_case' \\&\\& /_g' |
sed 's_.*_$| = 1; print if (/&/'$locate_case')_')\"")

cat ~/tmp/all.filelist の部分を locate '' とするとlocateコマンドでも
動きます。locateコマンド使う意味が無くなっていますが、-rオプション
使うより速いです。
625名無しさん@お腹いっぱい。:2013/08/05(月) NY:AN:NY.AN ID:gdBAv7aX0
>>624
anything版です。こちらはlocate版にしてみました。
locateでand検索できるのがうれしいかもしれません。
(setq anything-c-locate-command "locate '' | perl -ne \"$(echo %s |
sed -r 's/^ +//' | sed -r 's/ +$//' | sed -r 's_ +_/i \\&\\& /_g' |
sed 's_.*_$| = 1; print if (/&/i)_')\"")
626名無しさん@お腹いっぱい。:2013/08/07(水) NY:AN:NY.AN ID:JhtSPwM10
むやみにdefadviceするのは勘弁してくれ
しかも凶結合だし
627名無しさん@お腹いっぱい。:2013/08/07(水) NY:AN:NY.AN ID:kbTRqVxJ0
バッファの最下行に文字が入力されていないとき、
その行で変換キーを押すと、Emacs Abort Dialogが出て落ちる。100%再現する。
カーソルのある行またはそれより下の行に文字があるときなら、
ふつうにその文字に対する再変換になるんだけど。
-q で起動して確認した。

皆さんもなりますか?

環境:
emacs-24.3-20130503.exe
WindowsXP SP3 32bit
Microsoft IME Standard 2003
628名無しさん@お腹いっぱい。:2013/08/07(水) NY:AN:NY.AN ID:zzjPLe3t0
>>627
再現した。*scratch*バッファーでも一発で落ちた。
新規ファイルバッファーで1行のみ時はセーフ、リターンして2行目にいるとアウト。
emacs-24.3-20130503.exe
Windows7 SP1 32bit
Microsoft IME 10.1.7601.0
629名無しさん@お腹いっぱい。:2013/08/07(水) NY:AN:NY.AN ID:sLbeknFw0
GNU Emacsではならないな
<convert> is undefined って出るだけで
630566 574:2013/08/07(水) NY:AN:NY.AN ID:uMYvsqWt0
>>627
私のところでも落ちました。
再変換はほとんど使わってないので気づきませんでした。

とりあえず以下の修正で(私のところでは)落ちなくなりました。
gnupack emacs-24.3-ime-2013-05-03.patchへのパッチ。

http://www1.axfc.net/uploader/so/2988322

cygwinのemacs-w32用パッチ(>>574)にも offset -219 lines とか出ますが
当たります。
631627:2013/08/07(水) NY:AN:NY.AN ID:kbTRqVxJ0
>>628-630
ありがとうございます。
今までバイナリだけ利用させてもらってましたが
いい機会なんでビルドしてみます。
632630:2013/08/09(金) NY:AN:NY.AN ID:YLGluyb40
改行のみの行で変換キーを押すとその前後の文字のある行で再変換されてしまう
のが何か変な気がしたので修正しました。
>>630のパッチ後へのパッチです。

http://www1.axfc.net/uploader/so/2990340
633名無しさん@お腹いっぱい。:2013/08/10(土) NY:AN:NY.AN ID:YElvI8n90
gnupackで入れたntemacsをgnupackの開発メモで公開されているemacs-24.3を上書きして使っています
el-getの導入でひっかかっているので質問します
[firefox][emacs] cookieswap補助、gist.el、ちょっとtombloo - うぇぶとらばぁす
http://d.hatena.ne.jp/serian/20121115/p1
これのwrong type argument: stringp, 99まではたどり着いたのですが、その先の解決法がわかりません
ブログではgnupackのinit.elが影響を及ぼしているのかと推測していますが、どうすればよいのでしょうか
634名無しさん@お腹いっぱい。:2013/08/10(土) NY:AN:NY.AN ID:U2g4yHey0
こっちじゃねーの(適当(誤用

el-getをWindows環境で利用するにあたってハマった点 - Secondary Storage
http://d.hatena.ne.jp/zqwell-ss/20130324/1364129779
635名無しさん@お腹いっぱい。:2013/08/11(日) NY:AN:NY.AN ID:9oQdUN2K0
>>634
ありがとうございます。ですが、そのエントリーには参考になりそうな説明がありませんでした
emacs lispとエラーメッセージをpastebin.comに載せました
http://pastebin.com/1R0Vs9my
636名無しさん@お腹いっぱい。:2013/08/12(月) NY:AN:NY.AN ID:BV91kCFF0
>>635

> (setq gnutls-trustfiles "d:/gnupack/app/cygwin/cygwin/usr/ssl/certs/ca-bundle.crt")

ではなく

> (setq gnutls-trustfiles '("d:/gnupack/app/cygwin/cygwin/usr/ssl/certs/ca-bundle.crt"))
637名無しさん@お腹いっぱい。:2013/08/12(月) NY:AN:NY.AN ID:arxBYrJn0
失礼しました。たしかにリストにしなければいけませんでした。
改めてel-getをインストールしようとしたらinvalid-functionと出ました。引き続きいろいろと試してみます。
ありがとうございました。
638名無しさん@お腹いっぱい。:2013/08/13(火) NY:AN:NY.AN ID:yfSj9fNg0
>>347 類似の現象再燃、相当頻繁に出現。
変換後文字はいつまでも他バッファーに書き込まれ
一旦はまると、このままではなかなか状況脱出できず
一度ファイルセーブするか,飛んだ先バッファー窓枠をマウスクリックすると
直るときあり。
emacs-24.3-20130503.exe
Windows7 SP1 32bit
Microsoft IME 10.1.7601.0
639名無しさん@お腹いっぱい。:2013/08/13(火) NY:AN:NY.AN ID:2zyfhb9D0
>>637
シングルクオートが抜けてるのに側溝の中に落ちている1円玉一個
640名無しさん@お腹いっぱい。:2013/08/18(日) NY:AN:NY.AN ID:mydfSYFi0
こんにちは。
自分はgnuwin32を使ってx86環境でntemacs(23.4)を構築しているのですが、
x64な環境でもgnuwin32のjpeg.dllとかはそのまま利用できるでしょうか。
まだx64環境がないもので、すみません。
641名無しさん@お腹いっぱい。:2013/08/18(日) NY:AN:NY.AN ID:zStM3/UC0
使えるよ。WOW64ならね。
642名無しさん@お腹いっぱい。:2013/08/18(日) NY:AN:NY.AN ID:mydfSYFi0
>>641
> 使えるよ。WOW64ならね。

ありがとうございます。
643名無しさん@お腹いっぱい。:2013/08/28(水) NY:AN:NY.AN ID:4CyvmXRR0
and検索できるgrepコマンドを作ってみました。
www49.atwiki.jp/ntemacs/pages/33.html
helm-do-grepやanything-do-grepと連携すると便利です。
よければ使ってみてください。
644名無しさん@お腹いっぱい。:2013/09/08(日) 18:01:44.20 ID:XMFNqvoQ0
>>643
早速試しに使わせていただきましたが、以下のようにファイルが見つからないと言われてしまいます

$ ls
a.log b.log

$ grep.pl "a" *.log
grep: "a.log": No such file or directory
grep: "b.log": No such file or directory

コマンドの設定はお試しで簡易的なものにしています
$grep_command1 = "grep -r";
$grep_command2 = "grep"
645644:2013/09/08(日) 18:31:02.50 ID:XMFNqvoQ0
すいません こちらのミスでgrep.plを貼り付けてるときにemacsの機能で余計なバックスラッシュが補完されてしまい
正しくコマンドが実行できていませんでした。
646名無しさん@お腹いっぱい。:2013/09/08(日) 18:46:00.27 ID:8haU/6/U0
ミスっていうと聞こえがいいよね
647名無しさん@お腹いっぱい。:2013/09/08(日) 19:19:30.16 ID:MEtzvBaH0
コードはGitHubに置くと良いんじゃないかなあ
648名無しさん@お腹いっぱい。:2013/09/08(日) 20:01:42.15 ID:CeCW2tS20
>>644
grepで使う場合、$grep_command2で使っている正規表現"+"が使えていないようですので、
先ほど正規表現を見直してwiki更新しました。
なお、もともとlgrep用に作ったのでrecursiveでの利用は考えていなかった(コマンド外
でfindする前提だった)のですが、grepやack、agで利用されている方もいるようなので、
サポートを検討してみます。
>>647
こちらも考えてみますが、コードの説明や使い方も書くとなるとwikiの方がいいかなぁと
思ったりしていました。
649名無しさん@お腹いっぱい。:2013/09/09(月) 07:56:14.81 ID:VU8lIefa0
githubもレポジトリ毎にwikiページ持てるぞ
650名無しさん@お腹いっぱい。:2013/09/09(月) 08:38:19.93 ID:ufUirJOT0
コードの説明や使い方程度なら、リポジトリのトップにREADME.md置いとくだけでもいいしな
651名無しさん@お腹いっぱい。:2013/09/10(火) 07:28:19.75 ID:grouLvhI0
>>648
-i(case insensitive)をサポートしました。helm-do-grepの場合、検索文字に
大文字を入れるとsensitiveになります。anything-do-grepでは%cの指定ができない
ので常にinsensitiveにしました。
-r(recursive)も指定できるコマンドもsampleに付けましたが、helm-do-grepの
%eをどのように渡すかが課題で、helm-grep-default-recurse-commandの設定は
やっぱりfindのままです。そもそもlgrepではrecursive使えないですし。
>>649
>>650
やっぱりいまどきはgithubなんですよね。検討してみます。
652名無しさん@お腹いっぱい。:2013/09/12(木) 11:24:29.75 ID:WAlJUj5gi
>>499
素晴らしいcygwinパッチありがとう。

ちょっと教えて頂きたいのですが、
mingwのパッチでw32.cとかで_mbsincとか使っている所が軒並み無いのですが、cygwinでは影響無いのでしょうか?
653499:2013/09/12(木) 21:00:49.77 ID:2hKeeKpJ0
>>652
今のcygwinは内部Unicode化されてたと思うので多分ダメ文字の問題とかは
無いかと。違ってたらすみません。

あとw32.cとかw32proc.cとかはcygwinのemacs-w32では使われてないですよね。
(ビルド後 src 下で ls *.o しても w32.o w32proc.o は無い)
654名無しさん@お腹いっぱい。:2013/09/12(木) 23:43:35.34 ID:78XDUlHX0
自分、まだWindows XPなんですけど、Windows8(64bit)でもちゃんとインストールは可能でしょうか。
自分が使っているのは以下のパッケージです。

・NTEmacs23.4
・cmigemo
・lookup
・wanderlust
・howm
655名無しさん@お腹いっぱい。:2013/09/13(金) 01:39:48.56 ID:opY+NSHx0
>>654
(emacs-version)
"GNU Emacs 24.3.1 (i386-mingw-nt6.2.9200)
of 2013-05-03 on GNUPACK"
このwindows8(64bit)でhowm最新ベータ版は動いていますよ
656名無しさん@お腹いっぱい。:2013/09/13(金) 08:45:31.31 ID:YKL+SfTRi
>>653

defaultで-fexec-charsetがutfー8ですね。
これだとwinapiのw系の呼び出しでも常に文字コード変換が必要で
性能的に不利かと思いましたが、
cygwinでコンパイルした方がキビキビ動いている
気がするぐらいですね。

長い間MSVCなTCHAR慣れした自分には
charのままm18n出来る発想は目から鱗(  Д ) ゚ ゚
657名無しさん@お腹いっぱい。:2013/09/18(水) 00:56:15.75 ID:kKZJJyh30
trampで開いたshellバッファにも対応できるshell-popもどきを作ってみました。
trampを使っていない場合にも利用できますが、trampを多用している場合には特に便利かと思います。
lispの見直しはまだ必要のようにも思いますが、よければ利用してみてください。
www49.atwiki.jp/ntemacs/pages/34.html
ただし、今のところはshell-mode専用です。
658名無しさん@お腹いっぱい。:2013/09/18(水) 17:46:46.77 ID:bmjmW3DR0
cp5022xが使いたいから、23.4使ってる俺は情弱w。
659名無しさん@お腹いっぱい。:2013/09/18(水) 23:36:41.33 ID:ysM44lXP0
>>656
半田さんが頑張ってくれたおかげで、今のEmacsは内部的にはフル装備のunicodeになっているんじゃ無かったっけ
660名無しさん@お腹いっぱい。:2013/09/19(木) 00:13:15.22 ID:oVsJxWEB0
半田氏がEmacsに組み込んだのはもっと恐ろしいものじゃなかったっけ?
いまはそれをダウングレードして内部コードをUTF-8にしてしまったとかなんとか
661名無しさん@お腹いっぱい。:2013/09/19(木) 08:18:52.45 ID:5xpIvggr0
その辺の時期から最近までずっとEmacsから離れていたんでよくわかんないな
どっかに情報残ってるかな?
守岡さんが超漢字みたいなのを作っていた記憶があるんだけど、そんなヤツかしら

ググってみたら今助教やってるんだな、なつかしい
662名無しさん@お腹いっぱい。:2013/09/29(日) 07:02:57.88 ID:BCkd9E8+0
Visual C/C++のプロジェクト用ソースコードを楽に編集するモードを作成しました。
よかったら使ってみてください。

https://github.com/yaruopooner/msvc
https://github.com/yaruopooner/msvc/blob/master/doc/manual.ja.org

いちおう↑を使うには
https://github.com/yaruopooner/ac-clang
も必要になります。
663名無しさん@お腹いっぱい。:2013/10/04(金) 13:30:50.61 ID:I/FLn/Sa0
最新のgnupackのEmacsを使っています。
apt-cyg install zsh texi2html
でzshとtexi2htmlをインストールしてから
executable-findを実行するとtexi2htmlの方がなぜか見つかりません

(executable-find "zsh")
"R:/gnupack_basic-11.00/app/cygwin/cygwin/bin/zsh.exe"
(executable-find "texi2html")
nil

minttyでは
# which zsh texi2html
/usr/bin/zsh
/usr/bin/texi2html
こうなるのでemacs側だけでなぜか探せなくなっているみたいです
解決策はありますか?
664名無しさん@お腹いっぱい。:2013/10/04(金) 19:12:43.15 ID:AdzPKONA0
>>663
windows で実行できないファイルなので、この振る舞い自体は正しい。
何をもって '解決' と呼ぶのかな?
665名無しさん@お腹いっぱい。:2013/10/05(土) 12:52:03.81 ID:nncXdJ+m0
>>664
そうだったのですか
失礼しました
666名無しさん@お腹いっぱい。:2013/10/15(火) 22:32:19.13 ID:c5JRv6s30
shell-modeでコマンドヒストリがうまく利用できないので、対策を
考えてみました。bash限定ですが、bashだけを使っている方は便利か
と思います。よければ使ってみてください。
 www49.atwiki.jp/ntemacs/pages/35.html
以前紹介したこちらも一部不具合があったので対策してみました。
 www49.atwiki.jp/ntemacs/pages/34.html
667名無しさん@お腹いっぱい。:2013/10/26(土) 21:39:45.73 ID:heIvdpZa0
gnupack、フォルダのアイコンがfind-fileなのはいいんだけど
completion--some: Invalid functionとか言われちゃうよ
668名無しさん@お腹いっぱい。:2013/10/31(木) 00:36:56.65 ID:16/zS33e0
Emacsを高速起動せよ #kansaiemacs - Emacs ひきこもり生活
/d.hatena.ne.jp/meech/20131030/1383109296
NTEmacsでもこれと同じような高速化はできますか
669名無しさん@お腹いっぱい。:2013/10/31(木) 00:49:29.94 ID:HUY064zO0
これとまったく同じことは cygwin 入れてても無理だと思う。
実行イメージとまではいかなくても *.el だの設定だのをロードした状態の emacs を作るって方法なら
http://www.emacswiki.org/emacs/DumpingEmacs
とかあるけど前にちょっと試した時は NTEmacs では上手く動かなかったような記憶があるな。
670668:2013/11/01(金) 02:06:50.31 ID:GKffOHJ80
ありがとうございます。
そうでしたか。その設定ではうまく動かせませんでしたので他の方法を試みてみます。
671名無しさん@お腹いっぱい。:2013/11/01(金) 09:26:18.88 ID:IQzn4QVT0
件のブログは Emacs 関係なく OS の機能だからなあ

タスクマネージャあたりから出来るプロセスのメモリダンプ結果を
そのまま再ロードでもできればいいんだけどね

dump はどうしても SEGv になってしまう・・・
672名無しさん@お腹いっぱい。:2013/11/04(月) 20:37:02.29 ID:tQ324Mec0
ag + ag.el で改行コードが DOS 形式のファイルを検索すると
どうしても行末に ^M が付いてしまうんですが、
どういう風に設定したらいいんでしょうか?
改行コードをいろいろ弄ってもうまくいきません。

(setq default-process-coding-system '(utf-8-dos . utf-8-unix))
673名無しさん@お腹いっぱい。:2013/11/04(月) 21:29:23.06 ID:dDg/Wryg0
ag.el 眺めてるんだけど、具体的にどういうコマンド使った時にそうなるのかを教えておくれ
674672:2013/11/04(月) 22:36:47.46 ID:tQ324Mec0
>>673
わざわざありがとうございます。

ag.el に関しては何も設定せずデフォルトのオプションのまま M-x ag してるだけです。
ただ ag を動かすために fakecygpty と次のページの設定をしています。

http://www49.atwiki.jp/ntemacs/pages/28.html

一応 ag は手元でビルド可能な 0.15 を使用しています。

ファイルの改行を UNIX に変更すれば改行コードの設定を弄れば問題ないんですが、
DOS 改行だとなぜかうまくいきません。
675名無しさん@お腹いっぱい。:2013/11/04(月) 22:51:41.17 ID:pJJX7Lhk0
使ってないから憶測だけど、ag って ack とか grep の仲間みたいなものでしょ?
仮想端末必要無いような気がするから fakecygpty 通す必要ないような気がするんだけど。
676672:2013/11/04(月) 23:22:15.07 ID:tQ324Mec0
>>675
もともと fakecygpty は以下の shell の問題の対処で導入したんですが、
Emacs (22.3) や Cygwin 環境が古いためかもしれません。

http://www.emacswiki.org/emacs/NTEmacsWithCygwin

それで fakecygpty の設定をしないと ag のプロセスは起動されても、
アイドルなままで終了もしないので、
ag-kill-buffers で終了するしかなくなります。
677672:2013/11/05(火) 00:16:47.86 ID:Avl0fwS40
Emacs 側の設定で簡単に対処できればと思ったんですが、
私の環境も古いままで十分に検証もできないので、
基本的な設定で対処できそうなポイントがなければ結構です。

default-process-coding-system の改行コードを弄るくらいしか思い付かなかったので、
ここを変えてみてもどうもうまくいかないようです。
car を *-unix にするとさらに ^M^M となるし。
ファイルの改行が UNIX なら上の設定でいいようですが。
678名無しさん@お腹いっぱい。:2013/11/05(火) 02:39:53.90 ID:EXeEpmZZ0
cygwinのlibの中に binmode.o っていうのがあると思う。
それを fakecygpty にリンクしてやると直かも。
679名無しさん@お腹いっぱい。:2013/11/05(火) 10:00:40.29 ID:IWGEmv3v0
text でマウントしてるとそういう問題起きることもあるってことかねえ。
うちは全部 binary でマウントしてるな。
680名無しさん@お腹いっぱい。:2013/11/05(火) 13:08:42.11 ID:JNxnhyS90
ptyはバイナリモードでオープンされ、stdioはテキストモードになるんで、
emacsとつながっているパイプに書くときに、 CR+LF が CR+CR+LF に
なってしまっているんじゃないかと。
681672:2013/11/05(火) 20:56:26.29 ID:Avl0fwS40
>>678
私は素人ですがどうも駄目なようです。

>>679
Cygwin 1.7.16 なので普通に binary でマウントされるようです。

>>680
> CR+CR+LF
そんな感じですよね。対処はわかりませんが。
682名無しさん@お腹いっぱい。:2013/11/05(火) 22:56:51.40 ID:IWGEmv3v0
fakecygpty の open のところに O_BINARY 直接立ててコンパイルしなおしもだめかね。
binmode.o のリンクと結果同じなんだろうけど。
683672:2013/11/05(火) 23:23:12.02 ID:Avl0fwS40
>>682
ありがとうございます。でもどうやら駄目みたいです。
普通にコンパイルしたのとサイズも同じですね。
684名無しさん@お腹いっぱい。:2013/11/10(日) 12:51:28.70 ID:Tz5z8u2PP
>>672
process-coding-system-alist をいぢじるのはどう?
(cons "ag" (cons 'utf-8-dos . 'utf-8-dos))
みたいなのを追加するとか。

>>671
起動を早くしたければ、(require 'XXXX) は一切やめて、
全て、autoload と eval-after-load に整理する方法がある。
最初から起動したいマイナーモードだけはこの手法は通用しないけど、
これで80秒かかってた起動が4秒くらいに短縮した。
実は add-hook もこれを念頭に作られていて、hogehoge-hook が定義されている
ライブラリを読み込まなくても (add-hook 'hogehoge-hook 'pagepage-minor-mode)
が実行できるようになってる。
685名無しさん@お腹いっぱい。:2013/11/10(日) 13:07:58.67 ID:8Dso6gp50
>>684
dump はその最初から起動したいマイナーモードなんかがきっちり読み込まれた状態の
emacs を作ってくれる方法なんよ。
686名無しさん@お腹いっぱい。:2013/11/10(日) 14:54:11.70 ID:Tz5z8u2PP
>>685
もし貴方が新進気鋭のEmacs愛なプログラマならば、
portable-dumper を 最新のEmacsに移植して、
http://www.sodan.org/~knagano/emacs/pdump/
これを GNU に contrib してみる可能性がある。
一度 2005年頃に本家へのマージが試みられたんだけど、
その複雑さ(その性格的に、デバッガ上で動かしにくい)
で諦められた?経緯がある。

今のEmacsのunexecはOSのバージョンアップなどの度にメンテが
すごく面倒くさいので、きちんと動くものが contrib できれば、
起動時間の遅さに悩まされるユーザだけでなく、
開発者にも感謝されると思うんだけど、どうかなぁ。
687名無しさん@お腹いっぱい。:2013/11/10(日) 22:46:09.02 ID:iRiBdTRk0
>>686
今出ている問題に対して具体的にコード上のどこをどうすればいいんだ
688名無しさん@お腹いっぱい。:2013/11/11(月) 00:04:09.42 ID:4AVe/s3M0
ramディスクを導入したのですがこれを使ってemacsを高速化できませんか
今のところキャッシュの類いの置き場しか案はないのですが…
689名無しさん@お腹いっぱい。:2013/11/11(月) 00:23:27.75 ID:PSM/ZPwX0
emacs 本体を ram ディスクに入れたらいいのでは。
SSD でいいじゃんって気もしてくるが。
690名無しさん@お腹いっぱい。:2013/11/11(月) 00:39:14.25 ID:OGTJ6maV0
てか使ってるうちにキャッシュに載るだろ
691672:2013/11/11(月) 01:14:58.06 ID:9cZ5MS8o0
>>684
process-coding-system-alist を使う方がいいでしょうが、
ただ結果は同じになります。

(setq process-coding-system-alist
(cons '("fakecygpty" utf-8-dos . utf-8-unix)
process-coding-system-alist))

*-dos にしても ^M が付くので、
結局 fakecygpty を通しているために CR が一つ余分に付くみたいです。
692名無しさん@お腹いっぱい。:2013/11/11(月) 11:29:58.52 ID:PSM/ZPwX0
fakecygpty 自体を改良するしかないのかなぁ
ag も grep みたいに素の状態で使えればよかったんだろうけど
693名無しさん@お腹いっぱい。:2013/11/11(月) 19:45:07.12 ID:1ieMJhLD0
テストしてみたいんだけどagをcygwinコンパイルしようとするとエラーが
でてコンパイルができません。どうやるとコンパイルできるのだろう。
694名無しさん@お腹いっぱい。:2013/11/11(月) 19:47:56.77 ID:Lwx6TDZ60
>>693
d = malloc(entry->d_reclen); -> d = malloc(sizeof(struct dirent));
695名無しさん@お腹いっぱい。:2013/11/11(月) 20:21:53.89 ID:1ieMJhLD0
>>694
ありがとう。やってみる。
696名無しさん@お腹いっぱい。:2013/11/11(月) 20:41:39.32 ID:Gjw9gG5JP
>>695
64bit Cygwinならconfigure.acのCFLAGSから"-std=c89"を外してみて
697名無しさん@お腹いっぱい。:2013/11/11(月) 21:50:59.76 ID:1ieMJhLD0
>>696
コンパイルできました。ありがとう。テストしてみる。
698名無しさん@お腹いっぱい。:2013/11/11(月) 22:14:17.70 ID:PSM/ZPwX0
w32-symlink.el って find-file とか insert-file-contents-literally みたいな
files.el で定義されてるやつを直接再定義してるのな。
昔のバージョンのをコピーして書き換えたっぽくて24.3のと見比べるともう差異がでてるし。
あんまりよろしくないな。
699名無しさん@お腹いっぱい。:2013/11/11(月) 23:57:22.57 ID:1ieMJhLD0
>>697
テストしてみた。^Mは表示されない。何が違うんだろう.
700名無しさん@お腹いっぱい。:2013/11/12(火) 00:35:45.17 ID:0r4D1Rbo0
>>672
(trace-function-background 'start-process) を設定して、M-x agを動かすと、
*trace-output*バッファにどう表示されるだろう。うちは、以下の通り。
1 -> start-process: name="ag" buffer=#<buffer *ag text:aaa dir:c:/gnupack/home/test/*>
    program="fakecygpty" program-args=("bash" "-c" "ag --nocolor --literal --smart-case --nogroup --column -- aaa")
fakecygptyを経由しているけど、fakecygpty-program-listにbashがあるから
有効になっていのであって、fakecygpty-program-listにagは登録していない。
このあたりがなんか違う。
701672:2013/11/12(火) 00:53:47.25 ID:brCbvXnE0
>>700
1 -> start-process: name="ag" buffer=#<buffer *ag*> program="fakecygpty" program-args=("sh" "-c" "ag --nocolor --literal --smart-case --nogroup --column -- cygwin")

(setq fakecygpty-program-list '("sh" "bash"))
(setq fakecygpty-exclusion-buffer-name-list '("*grep*"))

こんな感じです。
何だかよくわからなくなってきた。
702名無しさん@お腹いっぱい。:2013/11/12(火) 02:53:45.96 ID:u8p/VjHs0
>>699
エスパーしてみよう
binaryでmountしているところ
703名無しさん@お腹いっぱい。:2013/11/12(火) 07:12:32.37 ID:0r4D1Rbo0
>>702
gnupackの設定のまま使っている。
C:/gnupack/home on /home type ntfs (binary,noacl,posix=0)
いろいろテストしてみているけど、やっぱりおきない。
ag hoge > hoge.txt とすると、hoge.txtの中に^Mがあるのは確認できるけど、
emacsからag.elを使うと表示されなくなる。
704名無しさん@お腹いっぱい。:2013/11/12(火) 09:42:36.61 ID:ADegjjl40
設定削っていって差を見るしかなさそうじゃね
705672:2013/11/12(火) 21:12:05.67 ID:brCbvXnE0
runemacs -q で起動して、
emacs 22 に無い use-region-p と region-active-p を読み込む以外、
次の設定だけでテストしても駄目ですね。
お騒がせしました。しばらく自分で考えてみます。

(setq explicit-shell-file-name "bash")
(setq shell-file-name "sh")
(setq shell-command-switch "-c")

(setq fakecygpty-program-list '("sh" "bash"))
(setq fakecygpty-exclusion-buffer-name-list '("*grep*"))
(defadvice start-process (around ad-start-process-to-fake last activate)
(let ((buffer-name (if (bufferp (ad-get-arg 1))
(buffer-name (ad-get-arg 1))
(ad-get-arg 1))))
(if (and (member (replace-regexp-in-string
"\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)
(not (member buffer-name fakecygpty-exclusion-buffer-name-list)))
(progn
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty")
ad-do-it)
ad-do-it)))

(setq process-coding-system-alist
(cons '("fakecygpty" utf-8-dos . utf-8-unix)
process-coding-system-alist))

(require 'ag)
706名無しさん@お腹いっぱい。:2013/11/12(火) 21:28:17.93 ID:ADegjjl40
emacs22 だったのか
色々細かいところで違いが出てるのかねやっぱ
707672:2013/11/12(火) 21:45:04.98 ID:brCbvXnE0
>>706
一応 >>676>>681 で書きましたが、
Emacs 22.3 と Cygwin 1.7.16 です。

>>676 の問題の対処のために fakecygpty を通しているので、
この辺りもかなり怪しいです。
708名無しさん@お腹いっぱい。:2013/11/12(火) 22:10:47.01 ID:piI95zNVP
>>703にある通り、^Mが付くのはag本体の問題。fakecygpty関係ない
gnupackのemacs-24.3-20130503では^Mが出ないのでemacsのバージョンによるのでは?
709名無しさん@お腹いっぱい。:2013/11/12(火) 23:18:39.36 ID:0r4D1Rbo0
>>708
同じ結論にたどり着いた。ag hoge > hoge.txt みたいにしてackやgrepで
出力したファイルをemacsで見てみるとわかるけど、agの場合のみCRLFが
削除されないでのこっている。なので、agという名前の以下のようなスクリプト
を作って、ag.exeと同じフォルダか、より早くサーチされるフォルダに置けば、
解決すると思う。
#! /bin/sh
ag.exe "$@" | dos2unix
710672:2013/11/12(火) 23:50:57.43 ID:brCbvXnE0
>>709
そうでしたか。なるほどうまくいきました。
うちの環境でも ag はかなり高速なので助かります。
たびたびヒントをいただいいたりわざわざ検証していただいた皆さん、
どうもありがとうございました。
711名無しさん@お腹いっぱい。:2013/11/12(火) 23:55:48.60 ID:ADegjjl40
cygwin の grep は CR の除去を明示的にやってるみたいで
オプション -U くっつけて CRLF、LF ファイルを混在検索すると CR 混じりの検索結果になるね。
ack は知らない。

>>708 みたいに ^M が出ないってケースもあるみたいだし
emacs 内で解決出来ないことも無さそうな気もするけどね。emacs 22 と 24 の間に
何かのデフォルト値が変わった程度の違いかも知れないし。
712名無しさん@お腹いっぱい。:2013/11/16(土) 11:40:13.77 ID:azAA+Jzr0
最近、shell-commandはdefault-directoryに設定してあるホスト情報をみて実行
されることを知りました。trampでどこかにdiredで接続して、M-! hostname
とすると分かります。とすると、WindowsのVirtualBoxで立ち上げているUbuntu
からcygwinに接続できれば、cygstart使えて便利そうだなぁと。最初、cygwinへの
ssh接続経由でcygstartが起動できなくてcygwinスレに聞いたりして試行錯誤しま
したが、結果として成功。設定方法を以下のURLにまとめました。もし興味のある方
居れば、試してみてください。スレ違いのような気もしますが..。
www49.atwiki.jp/ntemacs/pages/36.html
713585:2013/11/22(金) 12:56:18.18 ID:bJfioxl10
gnupackの人って生きてるのかな、最近更新ないし…
714名無しさん@お腹いっぱい。:2013/11/22(金) 16:24:19.98 ID:Z0icsCZZ0
学生さんじゃないの?
忙しいだけだと思う
715名無しさん@お腹いっぱい。:2013/11/26(火) 20:50:48.73 ID:LhpbGpm60
Emacs 23.4.1 で Navi2ch のフォントの設定がどうしてもうまくいきません。

(create-fontset-from-fontset-spec
"-outline-MS Pゴシック-normal-normal-normal-mono-16-*-*-*-p-*-fontset-mona")
(set-fontset-font "fontset-mona" 'japanese-jisx0208
(font-spec :family "MS Pゴシック" :registry "jisx0208-sjis" :size 16))
(add-hook 'navi2ch-mona-load-hook (lambda ()
(set-face-attribute 'navi2ch-mona-face nil :font "fontset-mona")))

(setq navi2ch-mona-enable t)
(setq navi2ch-mona-face-variable 'navi2ch-mona16-face)

試しにこのように設定すると英数フォントは有効になりますが、
日本語フォントはフレームのデフォルトのフォントが使用されるので、
フォントセットは作成されてフェイスに設定されていますが、
set-fontset-font でフォントセットに日本語フォントを設定できないようです。

モナーフォントを使用しても日本語フォントの置き換えだけができません。
何が問題なんでしょうか?
716715:2013/11/26(火) 21:12:26.63 ID:LhpbGpm60
単に次のように設定しても同じ結果になります。
"*-MS Pゴシック" のところは "*-モナー" などとしても同様です。

(setq navi2ch-mona-enable t)
(setq navi2ch-mona-font-family-name "*-MS Pゴシック")
(setq navi2ch-mona-face-variable 'navi2ch-mona16-face)
717名無しさん@お腹いっぱい。:2013/11/27(水) 07:35:22.28 ID:nbKm5Ovk0
BayTrail-T採用のwindows8.1タブレットでこれ動きますか?
718名無しさん@お腹いっぱい。:2013/11/28(木) 15:46:33.54 ID:jp9wPFWW0
emacsスレからこちらに誘導されてきました
windowsのgnupackでemacsを使っています
twittering-mode.elでmaster passwordを使ってタイムラインを開こうとすると
パスワードを入力してenterを押したとたん
"the authorized token is loaded"
というメッセージがエコー欄に表示されてEmacs自体が完全に固まることがあります
そのときは強制終了させなければいけません
正常にタイムラインが表示されることがほとんどなのですが、エラーの結果が重大なので気がかりです
どのような原因が考えられるのでしょうか
719名無しさん@お腹いっぱい。:2013/11/28(木) 17:03:38.62 ID:HIu2lRJg0
>>718
使ってないから実際はどうかわからないのでソース見た感じから。
そのメッセージを出した後にツイッターのAPI使って実際に認証してるみたいなんだけど、
そこでタイムアウト無しで結果待ちしてるんじゃないか?ってとこがあるのよね。
https://github.com/hayamiz/twittering-mode/blob/master/twittering-mode.el#L6286

何らかの理由で http(s?) リクエスト送ったプロセスが死なずに結果が返ってこないってことになると
固まるんじゃないんだろうか。

リクエスト送るプログラムは twittering-lookup-connection-type でわかるみたいだから
それで出てくるプログラムがおかしくないか見てみるとかかねえ。

あと↑で出た待機してるところのタイムアウトが nil になってるとこに適当な数字いれて
引数リストの最後に (error "time out!") とかいれてタイムアウトしたら止まるようにしておいて、
かつ twittering-debug-mode を t にして twittering-debug-buffer の中身を見てみるとか。

そして最終的には作者に症状を報告でしょうね。
720名無しさん@お腹いっぱい。:2013/11/28(木) 20:13:31.30 ID:3vpK1ZV30
>>719
ありがとうございます。
今のところ意図的にエラーを起こしてもntemacsが問題なく動き続いています
タイムアウトを設定しましたのでこのまましばらく様子を見てみます
721名無しさん@お腹いっぱい。:2013/11/30(土) 00:15:33.21 ID:p64oBcms0
gnupack の emacs.exe を起動するとき、 ~/.emacs.el がバグがあるようで
"--debug-init オプションを付けて起動しなおせ" と怒られるのですが、
config.ini を変更して、起動オプションを "--debug-init" 付きに
変更することはできるでしょうか?

あと、できれば color-theme は使いたくないので、読み込ませないように
したいのですがそういう設定はできますかね?
722名無しさん@お腹いっぱい。:2013/11/30(土) 01:12:40.04 ID:uqLZAp+R0
--debug-init は常につけるようなオプションじゃない。
.emacs.el でエラーが起きたらデバッグモードに入るようになるだけの話。

素直に .emacs.el を直そうよ。
color-theme も .emacs.el を書き直しゃいい。
723名無しさん@お腹いっぱい。:2013/11/30(土) 09:29:17.17 ID:p64oBcms0
>>722

言葉足らずで大変申し訳ないです。Emacsのメッセージは
「.emacs にバグがあるようだ。バグの所在を確認するには、
--debug-init を起動オプションに付けて起動しなおせ。
(バグがどこだかわかったら --debug-init は外してもいいよ)」
というものでした。ですので、一時的に --debug-init を付けて
Emacsを起動しなおして、.emacs のバグを修正したら再び外したいのです。

color-theme は、gnupack版の emacs が、自動的にコマンドライン
オプションで、 emacs.exe -l color-theme ... とライブラリを
読み込むみたいなのでこれを外したいと思っています。
724名無しさん@お腹いっぱい。:2013/11/30(土) 10:47:31.46 ID:uqLZAp+R0
>>723
--debug-init は普通に gnupack インストールルートの emacs.exe に引数書いて
minitty なり cmd なりのコンソールから起動でいいんじゃないのかな。
手元ので試したらちゃんと認識してたよ。

color-theme も config.ini の該当エントリをコメントアウトで color-theme 自体の読み込みもしなくなるみたい。
(featurep 'color-theme) が nil になることを確認できた。
725名無しさん@お腹いっぱい。:2013/11/30(土) 11:18:21.28 ID:BUgRrIEn0
低レベルな話で申し訳ないのですが、gnupack の emacs ってインデントできますか?
TAB を押しても、一括インデントを指示しても、一向にインデントができず困っています。
726名無しさん@お腹いっぱい。:2013/11/30(土) 12:48:05.51 ID:uqLZAp+R0
それは流石にどのモードのどのコマンドの話しなのかわからんことにはなんとも。
gnupack の emacs っていってもそんな基本的な部分に変な手の入れ方はしてないと思うけどなあ。
727名無しさん@お腹いっぱい。:2013/11/30(土) 14:25:22.63 ID:BUgRrIEn0
>>726
レスありがとうございます。
scratch、textモード、およびESSモードでTABの押下または M-x indent-region をやっているのですが、インデントできません。
gnupack_devel-11.00 です。
728名無しさん@お腹いっぱい。:2013/11/30(土) 14:53:31.31 ID:uqLZAp+R0
そのインデントしないってのは、文脈に応じたインデントすらされないってことなの?

scratch なんかは lisp interaction モードになってるとおもうけど、その場合
ネストした () やコメントがらみでしかインデントは行われないのが標準の挙動。
そういうインデントがされないっていうなら何かがおかしいとは思う。

(message
"abcdefg") ; ←ここでタブを押したらインデントされる
(message "abcdefg") ; ←ここでタブを押してもインデントはされない

C-h k で TAB を押下したときに出てくるコマンドの名称は?
何か追加で設定は行っている?
emacs -q で起動した時と挙動は同じ?
729名無しさん@お腹いっぱい。:2013/11/30(土) 15:38:08.53 ID:BUgRrIEn0
>>728
詳細にありがとうございます。

scratchではインデントされないのが標準なのですね。なるほどです。

あと、勘違いしていたのですが、textモードでは想定通りの行頭インデントができました。誤った情報をお渡しして申し訳ないです。

インデントしたいのにインデントできないモードは、拡張子が .R となる ESSモードのみです。

これは、gnupackの設定は関係なく、ESSモードに関する話ですね。
重ねて申し訳ないです。

なお、
C-h k は、indent-for-tab-command です。

-q を指定して実行した場合、拡張子が .R のファイルでもインデントできました。
これは、ESSモードが適用されないためだと思います。
730名無しさん@お腹いっぱい。:2013/11/30(土) 15:53:12.38 ID:uqLZAp+R0
無理やりタブ文字を挿入したいだけなら C-q TAB でインデントすることは出来ると思う。
でもその後に indent-region やらタブを押してしまった場合、
モードによってはあるべきインデントの形に直そうとして結局もとに戻されちゃったりする。

なので ESS モード固有の設定でなんとかしてみるしかないんじゃないかなぁ。
R は使ったことないから詳しくはわからないけど、ess-custom.el を眺めてみた感じ
インデント周りの設定はそこそこあるように見える。

モードを作った人の意図から外れるようなコード整形をしたいってなると結構茨の道かもしれない。
731名無しさん@お腹いっぱい。:2013/11/30(土) 16:02:32.44 ID:BUgRrIEn0
>>730
おお、C-q TAB でタブが入るのですね!
ありがとうございます。

ESSモード固有の設定をしっかり検討します。

懇切丁寧にご指導いただきありがとうございます。
732名無しさん@お腹いっぱい。:2013/11/30(土) 20:31:36.80 ID:ObBnIpsgP
M-iもあるよ
733名無しさん@お腹いっぱい。:2013/12/01(日) 00:13:22.46 ID:YTKFNJF90
>>732
ほんとだ。
C-q C-i だとTABが入りますが、M-i だと同じ表示をスペースで補完してるのですね。

ありがとうございます。
734名無しさん@お腹いっぱい。:2013/12/01(日) 10:39:11.31 ID:lBNFOpvn0
>>724
インストールルートの emacs.exe に "--debug-init" を指定したら
確かに起動先の emacs.exe に上手く渡されました。ありがとうございます。

やっと .emacs.el のエラー場所がわかりました。
735名無しさん@お腹いっぱい。:2013/12/03(火) 13:21:48.83 ID:kYF9m3zQ0
NTEmacs は起動時にどのタイミングで環境変数 LANG を設定しているのでしょうか?

環境変数 LANG や LC_ALL 等が設定されているとわざわざ設定しなくても
set-language-environment 等を適切に実行してくれるようですが、環境変数を設定していなくても
日本語環境に初期化がされており、その際の LANG を見ると "JPN" の値が設定されていました。

コントロールパネルの地域と言語にて言語設定を英語等に変更した場合、LANG が "ENU" に変化し
言語環境が英語に初期化されていたので、OS のロケール設定を読み込んでいることは確かのようでした。

ただ、どちらの設定でも (w32-get-current-locale) が 1041 (日本) になったのはちょっと不可解でしたが。
736名無しさん@お腹いっぱい。:2013/12/08(日) 18:23:58.30 ID:M3gDpjJa0
cygwin の /bin/gcc でエラーが出て /usr/bin/gcc だとエラーが出ない問題で色々やってて気になったのですが、
http://stackoverflow.com/questions/16621529/gcc-fails-with-spawn-no-such-file-or-directory

M-x compile でコンパイルしたときに /bin/gcc を指定して適当なファイルをコンパイルすると
gcc: エラー: spawn: No such file or directory
とエラーになるのですが、モードラインの exit ステータスが何故か 0 のままです。
shell 上で同様のことをした場合、 $? などでステータスを見るとちゃんと 1 が返ってきています。

以下の wiki の設定はしてあるのですが、これが干渉してしまっているのでしょうか?
http://www.emacswiki.org/emacs/NTEmacsWithCygwin
737736:2013/12/08(日) 19:31:05.38 ID:M3gDpjJa0
原因がわかりました。 fakecygpty が悪さをしていました。

M-x compile で何か起動した場合、bash での起動になるようです。
その際、fakecygpty を経由するのですが、fakecygpty が起動したコマンドの終了ステータスを正しく返していないため
異常終了した場合でも終了ステータスが 0 になってしまっているようでした。

fakecygpty.c の一番最後の return status; を return WEXITSTATUS(status); に修正することで
正しく動作するようになりました。

http://www.meadowy.org/meadow/browser/trunk/nt/fakecygpty.c
↑にある fakecygpty を使っているんですけど、最新は他にあるんでしょうかね?
738名無しさん@お腹いっぱい。:2013/12/09(月) 19:15:54.93 ID:avrK3gBX0
shell-command-to-string で cygpath -u としたとき日本語が化けるので、
環境変数 LANG=ja_JP.SJIS と設定したら解決するんですが、
Emacs 内部の設定で解決することはできないんでしょうか?
739名無しさん@お腹いっぱい。:2013/12/09(月) 19:21:02.27 ID:O3nnGQW90
Emacs 内で setenv() 呼び出すというのは回答になるのだろうか
740738:2013/12/09(月) 20:15:57.57 ID:avrK3gBX0
>>739
有難うございます。
(setenv "LANG" "ja_JP.SJIS") で普通にいけました。

もう一つ、Emacs から id3v2 のタグを弄るには今なら何を使うのがいいんでしょうか?
mid3v2 というのを見付けてとりあえずそれで不満はなさそうではあるんですが。
741名無しさん@お腹いっぱい。:2013/12/14(土) 10:57:18.55 ID:6I0+cQoP0
gnus 使って gmail 読み書きするのにちょっとはまってしまった。
gnutls 組み込みじゃない ntemacs だったから外部の gnutls-cli を使っての通信だったんだけど
fakecygpty 通すと CR が余計についちゃうせいで上手く動かなかったようだ。

start-process 時に除外する時もシェル通して gnutls-cli を起動してたりしたから
バッファ名個別指定せざるを得なかったし。

組み込み gnutls だとそういう苦労はないんだろうか。gnupack のは組み込まれてるんだったよね。
742738:2013/12/15(日) 17:31:19.94 ID:j+wjvn1A0
mid3v2 は v2.4 しかいけないので、
eyeD3 なら v2.3/2.4 でとりあえずよさそう。
743名無しさん@お腹いっぱい。:2013/12/19(木) 08:51:22.70 ID:zLW6dW0Z0
gnusでドコモメールの送信できた方いますか?
受信することはできたのですが、送信ができません。ポートはあわせました。
744名無しさん@お腹いっぱい。:2013/12/19(木) 11:07:29.09 ID:+dvgcfUm0
(setq message-send-mail-function 'smtpmail-send-it)
(setq smtpmail-smtp-server "smtp.spmode.ne.jp")
(setq smtpmail-smtp-service 465)
(setq smtpmail-stream-type 'tls)

これで駄目なの?パスワードは手打ちするとして。

自分とこは gmail だけど、 fakecygpty は切っておかないと gnutls-cli とか openssl で無駄な改行が入って
tls-end-of-info とかの正規表現とマッチしなくて正しくセッション開始してくれなかった。
745名無しさん@お腹いっぱい。:2013/12/19(木) 23:22:00.49 ID:zLW6dW0Z0
>>744
Sending failed: 503 Bad sequence of cimmands
746名無しさん@お腹いっぱい。:2013/12/19(木) 23:55:40.83 ID:+dvgcfUm0
それじゃ次は smtpmail-debug-info を t にした時の *trace of SMTP session to smtp.spmode.ne.jp* バッファの内容チェックかね。
もし貼り付ける場合はメールアドレスとパスワードをちゃんと隠して貼ったほうがいいね。
747名無しさん@お腹いっぱい。:2013/12/20(金) 21:53:16.21 ID:P7FysdHi0
長年 migemo の動作がいろいろおかしいと思ってたけど、
LANG=ja_JP.EUC-JP でコンパイルしないといけなかったのね。
なまじ中途半端に動くもんだから気が付かなかったよ。
748名無しさん@お腹いっぱい。:2013/12/21(土) 00:27:53.72 ID:TZjVPCvg0
>>746
220 ESMTP Server Ready
250-docomo.ne.jp
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-SIZE 15727616
250 8BITMIME
MAIL FROM:<[email protected]> SIZE=270
503 Bad sequence of commands
QUIT
221 Service closing transmission channel

Process smtpmail deleted
749名無しさん@お腹いっぱい。:2013/12/21(土) 01:27:00.97 ID:40ktKVHX0
MAIL の前に AUTH PLAIN での認証が入るべきなきがするんだけど
なんではいってないんだろう

AUTH PLAIN <omitted>
235 2.7.0 Accepted
750名無しさん@お腹いっぱい。:2013/12/22(日) 10:00:16.06 ID:uD5XuFWZ0
>>749
ここを↓参考に認証系の設定を追加すると砂時計になる。
http://irino.no-ip.org/wordpress/2013/05/26/windows%E7%89%88emacsgnupack%E3%81%AEgnus%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E8%AA%AD%E3%82%80/
なにか足りないライブラリとかあるのかな?
751名無しさん@お腹いっぱい。:2013/12/23(月) 03:02:02.50 ID:vpxaArPn0
(gnutls-available-p) とかはどうなってます?
組み込み gnutls か gnutls-cli か openssl の挙動の問題なのかなあ
752名無しさん@お腹いっぱい。:2013/12/23(月) 05:07:01.69 ID:XHyLACFf0
>>751
t
753名無しさん@お腹いっぱい。:2013/12/23(月) 11:33:36.43 ID:vpxaArPn0
うちは素の NTEmacs に gnutls 関係の dll 突っ込んで (eq (gnutls-available-p) t) にしたところ
メール送信時に emacs が落ちるようになったわ。
今は gnutls-cli で送信するようにしたら安定した。
gnupack だとどうなのかは知らない。
754名無しさん@お腹いっぱい。:2013/12/23(月) 15:11:44.56 ID:8atRTi4a0
gnupackのも落ちるなぁ…
とりあえず
(setq gnutls-trustfiles nil)
したらgmailは読めた
755名無しさん@お腹いっぱい。:2013/12/25(水) 13:18:25.90 ID:YiZov8ky0
ntemacsでwindowsのバージョン毎、たとえばwindows7 とwindows8で処理を分岐することはできますか?
756名無しさん@お腹いっぱい。:2013/12/25(水) 15:18:36.61 ID:ochrnWBX0
ntemacs にそういう固有の関数はないから
windows 内でどう判別するか?の話になると思う。

cmd /c ver の結果とか、reg でバージョンが入ってるとこ読むとかかね。
それを shell-command-to-string とかで読み込んで分岐になるんじゃないかな。
757名無しさん@お腹いっぱい。:2013/12/25(水) 16:20:05.85 ID:t748gSOr0
system-configurationがwin7だとi386-mingw-nt6.1.7601になるから分岐できそうに思える。
758名無しさん@お腹いっぱい。:2013/12/25(水) 23:16:18.65 ID:ochrnWBX0
24.4 では windows でもファイル名アクセスに UTF-8 な API を使うようになるらしいから
"〜表" なディレクトリやファイルにアクセス出来ない問題も解決しそうで嬉しい
759名無しさん@お腹いっぱい。:2013/12/26(木) 18:19:15.19 ID:ovzZtBnf0
ドコモメールをgnusでメール送信するのは諦めました。
その代わり、PowerShellのSmtpCientを使ってドコモメールのメール送信が出来ないかなと考えております。
Elispで似たことをやってるは人いませんか?
760名無しさん@お腹いっぱい。:2013/12/26(木) 19:08:07.65 ID:mfVAvaur0
今リアルタイムに powershell 経由で emacs からの pinvoke/win32api 呼び出しで遊んでた所だわ。

やってて思ったこと:
・powershell とのやりとり自体は "-Command" "-" で起動すれば普通のプロセス間通信で何の問題もない
・null は powershell だと $null になるんだけど、なぜか String に入れると "" にキャストされるから本当の null が欲しければラッパー必要
・powershell の結果の受けとりとか文字列の受け渡しは base64 でエンコードして一行にするとエスケープ処理もいらなくて楽だった
・エラーメッセージは $ErrorActionPreference = "SilentlyContinue" で抑制して $? を見て必要に応じて $Error[0] で取得が楽

どっちかっていうと smtp-send-it (smtpmail-via-smtp か?)を書き直す方が手間掛かりそうだ
761名無しさん@お腹いっぱい。:2013/12/27(金) 15:28:03.45 ID:uz2KL3l50
>>760
具体的にどういうプログラ厶書いているのでしょうか?
762名無しさん@お腹いっぱい。:2013/12/27(金) 20:48:06.95 ID:XwD+orFH0
>>761
こんなのです。
http://pastebin.com/Tyn9RSvA

あくまで pinvoke での呼び出しに特化したものだから
普通の .NET のクラスを使うのには役に立たないと思う

粒度的に考えると、レガシーな DLL より .NET のクラスを
powershell 経由でシームレスに使える拡張とかできたら素敵だと思う。
Windows でも右下の通知バルーンとか使えるようになるし。
763名無しさん@お腹いっぱい。:2013/12/28(土) 18:09:30.51 ID:bP5UPrK20
>>762
ちょっと真似できない規模ですね。
数十行くらいのelispで最低限の上記に挙げた機能を達成できないでしょうか。
764名無しさん@お腹いっぱい。:2013/12/28(土) 19:26:49.33 ID:Bo/Hh6wG0
>>763
Net.Mail.SmtpClient のクラスを使うだけだったら
http://nyoro2.net/wp/?p=432
↑の記事でも参考に、 format とか使っててホスト名だの
ユーザ名だのが埋め込まれたコード文字列を一気に組み立てて、
(start-process "powershell" (get-buffer-create "*powershell*) (executable-find "powershell") "-" "-Command")
したプロセスに process-send-string でまとめて送ってやればそれで解決なんじゃないでしょうか。
エラー処理をきっちりやるのとかはおいおい進めるとして。

ただ、smtpmail-send-it とか sendmail-send-it 相当の関数は自分で用意しないといけなさそう。
添付ファイルのエンコードとか smtpclient の方でやらせたほうがよさそうだし
どっちかっていうとそっちに苦労しそうな気がする。
765名無しさん@お腹いっぱい。:2013/12/31(火) 00:54:31.92 ID:Q3pu6m3j0
>>759
使えるかどうかわからないけどこんなのあったよ
http://www.emacswiki.org/cgi-bin/wiki/WThirtyTwoSendMAPI
766名無しさん@お腹いっぱい。:2013/12/31(火) 11:08:00.85 ID:Oxa4CuYP0
>>765
VisualStudoi6もってないとダメなんじゃないです?
もってないです。
767名無しさん@お腹いっぱい。:2013/12/31(火) 13:52:15.13 ID:Q3pu6m3j0
多分 VS6 が必要っていうより
それに含まれる MSMAPI32.OCX が必要ってことなんだろうと思う。
公式で配布してるVB6ランタイムなんかにもに入ってるけどまあ今更そんな時代に逆行することもないわな。
768名無しさん@お腹いっぱい。:2014/01/02(木) 11:08:46.16 ID:kfQi1Xlb0
公式のがインストールされてる状態でgnupackをadd.pmすると、どうなるんだ?これ
769名無しさん@お腹いっぱい。:2014/01/02(木) 11:17:47.51 ID:kfQi1Xlb0
2つに増えるのか、それとも上書きされるのか
770名無しさん@お腹いっぱい。:2014/01/02(木) 11:43:50.32 ID:vJEeBc/P0
ショートカットはともかく、レジストリは確実に上書きされるよ。
771名無しさん@お腹いっぱい。:2014/01/19(日) 23:20:57.34 ID:3AppbQ+K0
ansi-term とか term で locale-coding-system を utf-8 固定にしちゃうと
windows ネイティブの ping とか javac とかが文字化けする件だけど、
なんのことはない、locale-coding-system を undecided にすればいいだけだった。
ソース上だと都度 decode してるから comint みたいに advice でいちいち戻してやる必要もなかった。
772名無しさん@お腹いっぱい。:2014/01/21(火) 13:00:26.52 ID:OEppGlSP0
過去ログで fakecygpty 通すと cr が余計にくっついてくるってのあったけど、
これって結局解決法ないのかな。

普通の ls を fakecygpty あり/なしで coding-system-for-read/write を 'binary にしてやりとりすると
fakecygpty の方は CR がもれなくくっついてくる。もちろんデフォルトの fakecygpty 関係の設定は抜いた状態ね。

(let ((command "ls")
(fakery-enabled t)
(buffer "*fake-test*")
(coding-system-for-read 'binary)
(coding-system-for-write 'binary)
proc)
(ignore-errors (kill-buffer buffer))
(setq proc
(if fakery-enabled
(start-process "fakecygpty" buffer "fakecygpty" command)
(start-process "normal" buffer command)))
(set-process-sentinel proc `(lambda (p s)
(with-current-buffer (pop-to-buffer ,buffer)
(goto-char (point-min))))))
773名無しさん@お腹いっぱい。:2014/01/21(火) 16:30:09.44 ID:lraABtpk0
>>772
わざわざ端末にしているのだから、CRLFが出力されることが自然だと思う。
解決って何だ?
774名無しさん@お腹いっぱい。:2014/01/21(火) 17:25:42.17 ID:OEppGlSP0
>>772 の例で行くと、 CRLF ではなく CRCRLF が出力されちゃってる。
fakecygpty 無し版だと eol が dos モードになるだけだけど
有り版だと eol が dos モードの上 CR が更にくっついてる。

端末はそんなに詳しくないんだけど CR は一つじゃないとおかしいんじゃない?
775名無しさん@お腹いっぱい。:2014/01/21(火) 17:55:36.92 ID:OEppGlSP0
linux の方の emacs で同じように start-process での ls の出力を見てみたけど
process-connection-type が nil でも 'pty でも特に CR が追加されることはなかった。
なんだかどういう挙動が正しいのかよくわからなくなってきたわ。
776名無しさん@お腹いっぱい。:2014/01/21(火) 19:39:03.79 ID:OEppGlSP0
オリジナル emacs と ntemacs+fakecygpty の挙動の違いがわかった。
オリジナル Emacs では sysdep.c で端末を初期化する際、 ONLCR を落として NL => NL にしてるけど
fakecygpty では落としていないから NL => CR NL になるみたいだ。ntemacs 自体は tty の概念がないから該当部分はスキップされてる。
ためしに fakecygpty の tty の設定変えてる所で ONLCR を落としたところ、オリジナル emacs と同じ挙動になった。

ansi-term とか term では起動時に stty -nl sane で ONLCR を自分で立ててるから fakecygpty の挙動に影響されないみたい。
777名無しさん@お腹いっぱい。:2014/01/22(水) 21:35:39.76 ID:RNhxtjgX0
emacsを使用しようと思うのですが、
私はプログラミング等全くしたことが無く知識もありません。
知人から、emacsを勧められたこともあり、
これを気に使用しようと思います。
全くの初心者なのですが、そういう人でも分かるような
emacsの入門書をご教示お願いいたします。
778名無しさん@お腹いっぱい。:2014/01/22(水) 21:46:34.68 ID:oh02V/WI0
今だと Emacs 実践入門あたりになるんじゃないかと思うけど(というか選べる程本は出ていない)
気軽に聞ける人でも探した方が早い気がする。

あと UNIX 板にも Emacs スレあるから一般的なことならそっちで聞いたほうが反応いいかもね。
779名無しさん@お腹いっぱい。:2014/01/22(水) 23:53:26.92 ID:Lrm5n9DH0
入門 GNU Emacs 第3版 [大型本]
www.amazon.co.jp/dp/487311277X
780名無しさん@お腹いっぱい。:2014/01/23(木) 03:31:28.82 ID:nomnXDIY0
雰囲気的に、その知人の言うことを聞かないというのも長期的には利益になりそう
781名無しさん@お腹いっぱい。:2014/01/23(木) 08:00:02.45 ID:IfL3u9iH0
>>778
Emacs 実践入門だと、
プログラミングとかしたこと無い奴だと
用語とか分からず、難しいんじゃないのかな?
もっとそれ以前の予備知識的なものの本の方がいいいような

といっても、私ではそのような本を直ぐには思いつけないけど
782名無しさん@お腹いっぱい。:2014/01/23(木) 10:52:59.82 ID:rxQfO9nD0
>>780
正味の話、あんまり Emacs だの Vim だの理由もなく覚える必要ってないよね。
783名無しさん@お腹いっぱい。:2014/01/23(木) 19:01:49.12 ID:pPA9aLz/0
>>781

まあ、プログラミング経験の無い全くの初心者だったら、
「シェル」とか「バッファ」とかの語彙も分からないからなあ
784名無しさん@お腹いっぱい。:2014/01/23(木) 19:50:34.56 ID:RGc5sCjT0
最初は本があると安心なのかもしれないけど、
どうせ肝心なことはネットで調べるし、
結局ろくに読まないうちに不要になる気もする。

昔ちゃんと読んだのは「やさしい Emacs-Lisp 講座」くらい。
785名無しさん@お腹いっぱい。:2014/01/23(木) 21:21:01.19 ID:pW5oe0370
>>778
>>779
>>784

ありがとうございます。
UNIX板の方でも質問致します。

>>779の本や「やさしい Emacs-Lisp 講座」の本は
プログラミング未経験で用語など全く無知でも読み通せるものでしょうか?
786名無しさん@お腹いっぱい。:2014/01/23(木) 21:57:49.47 ID:rxQfO9nD0
ここで一章だけ読めるよ。
http://www.gentei.org/~yuuji/elisp/
何分古い本だから現在の Emacs の仕様と合わない部分は結構あるかと。

そんでもって内容はエディタとして使いこなすっていうより
Emacs-Lisp のプログラミングの勉強みたいな内容だね。
787名無しさん@お腹いっぱい。:2014/01/23(木) 23:11:35.98 ID:OavXG8cy0
皆さんは、Emacsは
何の用途に使用していますか?
788名無しさん@お腹いっぱい。:2014/01/23(木) 23:17:41.02 ID:HqOhkdgE0
設定はwebからのコピペで何とかなるぞw
789名無しさん@お腹いっぱい。:2014/01/23(木) 23:40:02.35 ID:VKW5RJXn0
>>788
設定とかそんな話じゃないだろ
「使いこなしてものにする」と言う目的だと、
Emacs 実践入門を読んで理解できるくらいの予備的な知識を身につけないと。
(日本語読解能力と言う意味ではない)
790名無しさん@お腹いっぱい。:2014/01/24(金) 01:41:47.36 ID:5FLkwnp60
質問者(>>777)がemacsをどう使いたいのかで薦める本が違ってくるだろ。
emacsを"使う"よりもカスタマイズに血道を上げるという本末転倒だがヘビーな方向に行きたいなら
上で突っ込んでる奴のように自分で調べて覚えるような気概が必要。

単にエディタとして使用したいだけならMuleについての本だがこれがお勧め
図解でおぼえるMuleの使い方
http://www.amazon.co.jp/dp/488135874X

まぁ、エディタとしてだけ使いたいというならわざわざemacsというマゾヒスティックなツールはお勧めしないが・・・
791名無しさん@お腹いっぱい。:2014/01/24(金) 08:07:40.63 ID:L28Bnmz00
>エディタとしてだけ使いたいというならわざわざemacsというマゾヒスティックなツールはお勧めしないが・


実際のところ、emacs関連のスレ住人達はそんな連中ばっかりだろw
792名無しさん@お腹いっぱい。:2014/01/24(金) 10:35:56.79 ID:jrT/b3Fl0
ESSとYaTeXのみの目的で使ってる私みたいな人って結構いるんじゃないかな。
793名無しさん@お腹いっぱい。:2014/01/24(金) 10:37:11.08 ID:jrT/b3Fl0
その場合、lispは理解してなくてもいいんだよね。
794名無しさん@お腹いっぱい。:2014/01/24(金) 10:48:30.92 ID:dem/7DTo0
customize インターフェィスだけで完結出来てる人ってどんだけいるんだろね。
package システムも出来たことだし以外となんとかなりそうな気もするな。

ただ、ntemacs みたいな微妙にマイナーな位置付けのソフトの場合
自分で elisp 書いて問題解決しないといけないケースも結構あるんだよな。
795名無しさん@お腹いっぱい。:2014/01/24(金) 22:36:57.74 ID:RLA1DLri0
gnupackの更新が何時再開されるのか?
それが気懸かり
796名無しさん@お腹いっぱい。:2014/01/25(土) 00:11:18.67 ID:Ep1gcPo40
誰かが引き継がないと一生気にし続けるかも…
797名無しさん@お腹いっぱい。:2014/01/25(土) 00:27:57.12 ID:cGLiw+Qm0
gnupack じゃないと困る部分って ime まわりぐらいかね
798名無しさん@お腹いっぱい。:2014/01/25(土) 14:04:45.66 ID:mol7ltNYP
gnupack便利だよね。
更新再開されるといいけど。
799名無しさん@お腹いっぱい。:2014/01/25(土) 16:47:03.32 ID:4ksYuZFu0
gnupack以外にWIN用の良いemacsある?
800名無しさん@お腹いっぱい。:2014/01/25(土) 16:55:28.46 ID:cGLiw+Qm0
公式のでいいんじゃないの?
IME パッチが適用されてるのだったら↓で一応最新版コンパイルしたやつを配布してるみたいだけど。
http://cha.la.coocan.jp/doc/NTEmacs.html
801名無しさん@お腹いっぱい。:2014/01/25(土) 17:05:24.78 ID:SxxBf2K40
>>800
これってgnupackで公開されているバイナリと何が違うの?
802名無しさん@お腹いっぱい。:2014/01/25(土) 17:14:44.09 ID:cGLiw+Qm0
>>801
こっちは NTEmacs JP で配布してる ime パッチだけ当ててるんじゃないかな。
http://cha.la.coocan.jp/doc/NTEmacs.html#sec5

gnupack の方はパッケージ詳細のとこ見りゃわかるけど他にも結構な量の IME パッチを当ててる。
http://gnupack.sourceforge.jp/docs/latest/UsersGuide_description.html#_distribute_software

自分は SKK がメインだからそもそも IME パッチ必要ないんで本家の使ってるわ。
あとたまに GoogleIME も使うけど、これだと他の IME と違って特に不都合なく入力出来てる。
変換中のフォント変更したりとかは無理だったけどね。
803名無しさん@お腹いっぱい。:2014/01/25(土) 17:22:56.93 ID:SxxBf2K40
>>802
ビルド方法 (24.3)にgnupackで公開しているパッチを使ってるって書いてる
gnupackのバイナリがあるのに公開しているから何か違うのかなと思って
804名無しさん@お腹いっぱい。:2014/01/25(土) 17:45:27.26 ID:cGLiw+Qm0
>>803
よくよく見てみると gnupack で公開されてるパッチって全部一つにまとめてあるのか。
あとはもう configure の差かね。

-O3 -fno-tree-vectorize
vs
--no-debug -O2 -fno-omit-frame-pointer -funsigned-char -pipe

あと gnupack じゃないほうは gnutls を組み込みにしてないみたいね。
805名無しさん@お腹いっぱい。:2014/01/26(日) 10:23:51.74 ID:O9kmYBGi0
ところで、64bit OSで、MinGWでNTEmacsは自ビルドって出来るんでしょうか?
806名無しさん@お腹いっぱい。:2014/01/26(日) 10:32:56.61 ID:GWV4ntLd0
やったことないけど出来るんでないの?
NTEmacs + 64bit あたりで検索すりゃやってみた事例出てくるよ

真の64bit 版 Emacs 作ってた人はもうやめちゃったのかな
ダイナミックロード勝手に実装してたりと結構野心的だったのに
807名無しさん@お腹いっぱい。:2014/01/26(日) 10:50:44.61 ID:Mg6IFQPr0
Software Designでそのネタで連載されてたときに24対応がもうすぐ出せそうな
こと書いてられたけど音沙汰ないね
808805:2014/01/26(日) 11:03:01.83 ID:O9kmYBGi0
ということは、まだ時期尚早なのかな。
暫く、32bit Cygwin + NTEmacsで頑張って使ってみます。
64bit OSに乗せ替えた時に、動くか心配だけど。
とりあえず、C:\cygwinとD:\usr\local\ だけ移して実行してみようと思います。
809名無しさん@お腹いっぱい。:2014/01/26(日) 11:07:09.06 ID:GWV4ntLd0
いや、今普通に 64bit OS で 32bit NTEmacs バリバリつかってるけど。
cygwin も 32bit 版で特に問題もなく使えてるよ。

あと 64bit 版のはあくまで独自拡張で色々本家と違ってる部分もあるから
なにしてるのかわからない人が使うもんではないと思う。
810805:2014/01/26(日) 11:13:02.10 ID:O9kmYBGi0
>>809
なるほど、ありがとうございます。
811名無しさん@お腹いっぱい。:2014/01/26(日) 12:10:56.63 ID:xUY1FcqF0
64bit OS で 32 bit cygwin だと fork に失敗することがあって、
make とか git とか悲しいことになるので、cygwin だけ 64 bit にしてる。
NTEmacs は 32 bit だけど。
812名無しさん@お腹いっぱい。:2014/01/27(月) 18:08:32.71 ID:JMtoavMm0
xyzzyで列カーソルを表示させる
vertical-cursor-line.l
http://www.geocities.jp/home_page22/xyzzy/lisp.html

というのがあるんですが、これのようにEmacs上で列カーソル表示可能な方法ってありますか?
あと、Emacs上で行カーソルを表示させる場合、
表示文字列の範囲までではなく、画面いっぱいにまで行カーソル表示って可能でしょうか?

例)
ああああ
 ̄ ̄ ̄ ̄
↑ではなく
ああああ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄↑表示画面の端

あと、Emacsって水平スクロールバーってあるんでしょうか?
813名無しさん@お腹いっぱい。:2014/01/27(月) 18:10:20.15 ID:JMtoavMm0
あともう一つ、入力文字が半角英数字の時と全角日本語の時で、カーソルの色を変えることって可能ですか?
814名無しさん@お腹いっぱい。:2014/01/27(月) 20:55:33.24 ID:p3QkLL+T0
>>812
列カーソルは聞いたこと無いな。出来るだろうけどやってる人いるかねえ。

行カーソルは hl-line-mode あたりがお望みのものなんじゃないかな。標準ではいってる。
水平スクロールバーはある。tggle-truncate-lines とかして折り返しを解除したら出てくるよ。

カーソルの色は素の NTEmacs では無理。全角だの半角だのは Emacs での外のことだから。
パッチあたってるバージョンなら出来る。オリジナルの Emacs だと dsub とかで通信してるやつなら出来るのかな?
SKK の場合は標準で対応してる。
815名無しさん@お腹いっぱい。:2014/01/27(月) 23:35:41.10 ID:3MFTtgCE0
列カーソルっていまいちイメージ掴めんけど vline.el のことかな
EmacsWiki とかにある
816名無しさん@お腹いっぱい。:2014/01/28(火) 02:25:40.23 ID:wImHzSWI0
vline.elだいぶ前に使ったことあるけど
全角文字に対応してるとは言えない状況で実用的ではなかったな
今はどうだか知らないけど
817名無しさん@お腹いっぱい。:2014/01/28(火) 02:47:36.27 ID:jQvDH6WI0
vline.elはインストールして使ってみました。
確かに日本語がある状態(コメントとか)だとイマイチでした。
xyzzyでvertical-cursor-line.l を入れた時は、他にWinSDKなるLispとかもあったので、
Emacsで同じようなことをするとなると難しそうですね。。。

>>814
hl-line-modeの設定を弄って、現在行の背景色変更をアンダーラインに変更するところまではやりました。
しかし、そのアンダーラインの引かれる箇所が、現在行の文字数分までなので、
それをバッファの端までアンダーラインが引けるような設定にしたいと思ってます。
(背景色を変える設定の場合、バッファの端まで色が変わってるので、それをアンダーラインでも同じようにしたい)

>SKK の場合は標準で対応してる。
一度SKKなるものを入れてみることにします。


なかなか、xyzzyで設定していた環境をEmacsでも同じようにするのって難しいですね。。。
(取りあえずC言語のインデントや予約語の色を早急に変える予定です)
818名無しさん@お腹いっぱい。:2014/01/28(火) 08:26:46.79 ID:6eg+fXIk0
あんまり労力に見合った結果にならん気がする
819名無しさん@お腹いっぱい。:2014/01/28(火) 10:44:55.28 ID:HytB4VPs0
gnupack の cygwin 部分だけでも cygwin.exe で更新したり追加したり出来ないのかな?
820名無しさん@お腹いっぱい。:2014/01/28(火) 11:03:54.61 ID:6eg+fXIk0
cygwin スレでやれよ。あと gnupack の公式で聞け。
821名無しさん@お腹いっぱい。:2014/01/28(火) 11:15:15.14 ID:HytB4VPs0
>>820
くだらない事しか言えないアンタに聞いてない
822名無しさん@お腹いっぱい。:2014/01/28(火) 11:22:55.34 ID:6eg+fXIk0
聞いてないじゃなくてここは NTEmacs スレだから。
cygwin のスレじゃないし gnupack のサポート掲示板でもないんだよ。

自力で更新も調べるのも出来ないようなのまで呼び込んだんだから gnupack の罪は深いわ。
823名無しさん@お腹いっぱい。:2014/01/28(火) 12:10:30.00 ID:oBvnS1QR0
こうやって追い出していくんだなぁ
824名無しさん@お腹いっぱい。:2014/01/28(火) 18:06:51.71 ID:36VqjbK+P
Cygwin使っている人いますか? その21
http://toro.2ch.net/test/read.cgi/unix/1331382186/
825名無しさん@お腹いっぱい。:2014/01/28(火) 19:43:15.37 ID:Gkz3X4tz0
Emacs24.4では64bit対応になっているのかな?
826名無しさん@お腹いっぱい。:2014/01/28(火) 20:57:47.77 ID:6eg+fXIk0
特にそういったアナウンスは出てないね。
NTEmacs 的によくなったとこだとファイル名のアクセスにユニコード版のAPIを使うようになったところか。
827名無しさん@お腹いっぱい。:2014/01/28(火) 21:51:35.02 ID:yVwJl6B90
64bit対応になった方がいいと思うね

XPマシンからパソコン買い替える連中は、
64bitに今後軒並みするだろうし
828名無しさん@お腹いっぱい。:2014/01/28(火) 23:53:02.39 ID:n5Xyd4av0
環境変数 LANG に何も設定しないと、
process-environment に LANG=JPN と設定されるようですが、
プロセスによっては都合が悪かったりするので、
その場面だけ適当に変更したりしてますが、
これは実際には何が設定されているんでしょうか?
829名無しさん@お腹いっぱい。:2014/01/29(水) 01:29:39.95 ID:1RWNmL6W0
プログラムがロケールで挙動を変える時に見に行く環境変数が LANG。
LC_ALL => LC_* => LANG の順番で見に行ってる。
例えばエラーメッセージとかが多国語化されてる場合、
LANG が ja_JP.UTF-8 とかになってると、日本語で UTF-8 にエンコードしたメッセージを出力とかになる。
cygwin なんかだと /usr/share/locale なんかにその手のが入ってるね。

NTEmacs の LANG デフォルト値は Windows API の GetLocaleInfo で返ってくる値が設定されてるみたいだけど、
cygwin での locale とは体系が違うから想定してない動作になってるんじゃないかな。
830名無しさん@お腹いっぱい。:2014/01/29(水) 02:07:16.84 ID:IjrrFtv90
>>825
trunkで64bit版のビルドできてたと思うのでなってるかもね。
831名無しさん@お腹いっぱい。:2014/01/29(水) 16:22:50.67 ID:kI6Akd/M0
Emacsで辞書を引くことが出来るかググってみました
http://namazu.org/~tsuchiya/sdic/

ここで辞書(gene95.tar.gzとedict.bz2)を落としてmakeしてみましたが、辞書を変換する
make dict
を実行したところ
$ make dict
no -S -e gene.txt | /usr/bin/perl contrib/gene.perl > gene.sdic
/bin/sh: no: コマンドが見つかりません
と表示され、うまく辞書が生成できませんでした
(edictの方はうまくいきました)

何がいけなかったのでしょうか?
なお、makeはCygwinをインストールして実行しました。

あと、皆さんはEmacs上から辞書を使ってますか?
他に上記の辞書以外で良いのがあれば教えてください。
832名無しさん@お腹いっぱい。:2014/01/29(水) 17:02:39.95 ID:1RWNmL6W0
>>831
nkf をインストールしてないとそうなる。
configure が checking してるときに checking for nkf が no になってない?

nkf 入れるの面倒くさかったから iconv で置き換えた記憶があるな
オプションその他は面倒くさいんで自分で調べるか素直に nkf インストールするかしたらいいと思う。

emacs 用の辞書は他は lookup ぐらいじゃないかな。
sdic 関係はインラインにポップアップ拡張なんかもあったとおもう。
sdic 用に英辞郎買ったんだけどなんでか gene と jedict 使ってるな・・・
833名無しさん@お腹いっぱい。:2014/01/29(水) 17:34:12.28 ID:kI6Akd/M0
>>831
nkfをインストールすればいいんですね?
一度やってみます。ありがとうございました。
834名無しさん@お腹いっぱい。:2014/01/29(水) 17:36:45.49 ID:kI6Akd/M0
xyzzyで現在のカーソル位置の文字コード(例えば'a'なら0x61など)をステータスバーに表示させるlisp
(add-hook '*post-command-hook* 'what-cursor-position)
があるのですが、これと同じようなことをEmacsのモードラインに表示させることは可能でしょうか?
一度上の奴を少し変えて
(add-hook 'post-command-hook 'what-cursor-position)
としたところ、ミニバッファに表示されてしまいました。。。
835名無しさん@お腹いっぱい。:2014/01/29(水) 18:47:56.49 ID:1RWNmL6W0
what-cursor-position と mode-line-format の説明を読んで頑張って。
describe-variable の説明がイミフでも mode-line-format でぐぐれば変更方法は色々出てくる。
what-cursor-position がどうやって内容だしてるかの実装も describe-function で飛んだ先で
調べればいい。
836828:2014/01/29(水) 20:08:19.16 ID:OtyLVDpZ0
>>829
レスありがとうございます。
eyeD3 でタグを書き込むときに化けてしまうので、
とりあえずこんな風にしてますが、
ここでは ja_JP.SJIS とか ja_JP.UTF8 とかでもいいみたいです。
それで実際には何が問題なのかなと。

(let ((process-environment (copy-sequence process-environment)))
(setenv "LANG")
[...])
837名無しさん@お腹いっぱい。:2014/01/29(水) 21:17:27.03 ID:xvyxMMmd0
emacs-24.3-ime-2013-05-03.patch.tar.gz と
emacs-24.3-20130503.exeとどう違うの?

初めてemacsを使う人はどちらをダウンロードして使用すればいいの?
838名無しさん@お腹いっぱい。:2014/01/30(木) 01:48:13.13 ID:8Z5xucIY0
>>836
それは eyeD3 の仕様がわからんことにはなんとも。
locale を見て挙動を変えるソフトなんじゃないの?
X とかだと LANG だの LC_ALL が ja* じゃないと日本語の入力が出来ないソフトとかも普通にあったよ。

>>837
gnupack のこといってるなら上の方はパッチだからただ使うだけなら関係ない。下でいい。
839名無しさん@お腹いっぱい。:2014/01/30(木) 02:39:29.80 ID:JKnTQUvl0
nkfをmakeしてインストールまでは問題なく行えましたが、
sdicのあるフォルダにて./configureをやっても、

checking for nkf... (cached) no
configure: warning: nkf not found

となってしまいます。他に何かする設定などありますか?

ちなみに、nkf --versionとすると、

Network Kanji Filter Version 2.1.3 (2013-11-22)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2013, The nkf Project.

と出力されるので、正常にインストールは出来ていると思います・・・
840名無しさん@お腹いっぱい。:2014/01/30(木) 02:44:59.62 ID:JKnTQUvl0
すみません。自己解決しました。
http://honmat.cocolog-nifty.com/txt/2008/09/fedora-emacs-sd.html
ここを参考に直接Makefileのnoの箇所をnkfに変えたらうまくいきました。
841名無しさん@お腹いっぱい。:2014/01/30(木) 08:38:23.07 ID:Ge/NCO6S0
>>838
NTEmacsを導入したい人は、
gnupack以外ではどのサイトでダウンロードするのがお勧め?
842名無しさん@お腹いっぱい。:2014/01/30(木) 10:23:46.95 ID:8Z5xucIY0
>>841
gnu公式
843名無しさん@お腹いっぱい。:2014/01/30(木) 15:06:18.06 ID:8Z5xucIY0
>>839-840
一応作者の名誉のために書いておくと、
別に Makefile が間違ってるわけではなく、configure のログにあるとおり、
見つからなかった状態がキャッシュされてるため後から nkf 入れたのが認識されてないだけの話。
config.cache ファイルを消してから configure しなおせば no が nkf に置き換わるよ。
844名無しさん@お腹いっぱい。:2014/01/30(木) 15:29:11.25 ID:cfl+QdrS0
configure をやり直すには make distclean するのが常套手段かな

しかし、24.4からMinGW(32,64)でのconfigureが正式サポートされるように
なったからNTEmacs64bit版を自前でビルドしてみようかな
845名無しさん@お腹いっぱい。:2014/01/30(木) 17:07:56.36 ID:B6vZnC+a0
まだ23.4使ってる。
24はいまいち。
846828:2014/01/30(木) 20:01:39.02 ID:8CkGn5BS0
>>838
ああそうですね。eyeD3 が LANG の値を見て挙動を変えてるんですね。
逆に LANG で何かが具体的に設定されるみたいに誤解してました。
847名無しさん@お腹いっぱい。:2014/01/30(木) 20:19:52.54 ID:8Z5xucIY0
>>846
そういう意味では Emacs 自身も locale 参照して挙動変えるソフトだったりするから、
Emacs 起動前に環境変数が定義されてると具体的に設定が変わったりはするよ。

よく設定例とかに
(set-language-environment "Japanese")
(prefer-coding-system 'utf-8)
とか書いとけってのあるけど、そこらへん書かなくても
Emacs 起動する環境で LANG とか LC_ALL に適切な内容、例えば ja_JP.UTF-8 とか設定しておけば
起動時に環境変数を見て自動的に↑を実行してくれる。

NTEmacs の場合 locale 設定がない場合はコードページから自分で locale 判断して
ついでに LANG も設定してくれるってことだね。
だから自分で language-environment とか変更したならそれに合った LANG に変えといたほうが
問題は少ないでしょうね。
848名無しさん@お腹いっぱい。:2014/01/30(木) 22:06:51.25 ID:Z80pCKyL0
>>842
gnu公式だとemacs-24.3-bin-i386.zipが最新?
windows用ファイル見つけるの見つけるの難しいよね。
849名無しさん@お腹いっぱい。:2014/01/30(木) 22:11:47.51 ID:8Z5xucIY0
>>848
それであってるよ。
ずらっと過去版と一緒に並んでるとちょっと怯むよね。
850名無しさん@お腹いっぱい。:2014/01/30(木) 22:19:05.99 ID:8UwDw7KZ0
windows用のファイルだけは
gnuの公式サイトでは別フォルダに置かれているからなあ。
851名無しさん@お腹いっぱい。:2014/01/30(木) 23:14:31.27 ID:JKnTQUvl0
gnupackのEmacsを落として実行した後、メニューの[File]から[Open File]を選択した時、
ミニバッファにFind file:と出てきて、Enterキーを押下するとInvalid functionと表示されます。
公式のEmacsで同じことをすると、ファイル名を探すためのダイアログボックスが出ます。
この違いは何でしょうか?

また、ggtagsを導入した後、ggtagからタグファイルを生成する際もgnupackのEmacsではうまくいかず、
No root directory providedと表示されます。
公式のEmacsはダイアログボックスが表示され、任意のディレクトリを指定するとタグファイルが生成されました。
852名無しさん@お腹いっぱい。:2014/01/30(木) 23:51:09.93 ID:8Z5xucIY0
gnupack のビルド時の細かい設定がどうなってるかわからないからなんとも言えないけど、
x-file-dialog がちゃんと動いてないみたいだね。
ソース上だと当該関数は #ifdef の嵐だから何かしらコンパイル時の -D の違いとかで問題が起きてるんじゃないかねえ。

とりあえず動くようにしたいだけなら use-dialog-box を nil にすれば動くようにはなるかと。
もっともダイアログボックスのかわりにミニバッファのみになるけど。
853名無しさん@お腹いっぱい。:2014/01/31(金) 00:02:53.08 ID:ytmmycPX0
>>852
うまくいきました!
しかし、これって、今まで誰も気づかないのか、気付いても大した問題にしていないのか、どっちなんですかね?
(それとも皆さん公式のWindows用バイナリを使ってる???)
ggtags-modeでタグが作れなかったときは、かなり凹みました。。。
854名無しさん@お腹いっぱい。:2014/01/31(金) 00:06:56.46 ID:uzZqt9bl0
>>853
このダイアログ表示、メニューとかツールバー等の GUI 部品から呼ばれた時だけ表示されるんですよ。
そんで、なぜか menu と toolbar は非表示にしてる人多いからかあんまり問題が顕在化しなかったんじゃないのかな。

gnupack のメンテが続いてるのか微妙だけど、気になるんであれば配布元の掲示板に報告してあげては。
855名無しさん@お腹いっぱい。:2014/01/31(金) 00:21:23.81 ID:VB/Jpca10
メニューとかツールバーって使う人いるの?
856名無しさん@お腹いっぱい。:2014/01/31(金) 00:23:36.67 ID:zSSzUq0bP
win8.1でgnupackのemacs 24.2.1使ってます。
plinkでtrampする際、パスフレーズ入力してenter叩くとそのまま先に進めなくなるんですが、同じ現象遭遇した方います?
pagent起動してパスフレーズ省略すると普通にログインできるんだよね。
857名無しさん@お腹いっぱい。:2014/01/31(金) 00:24:16.16 ID:BYr/NiSj0
ツールバーは邪魔だから消してる。
メニューはなんとなく有効にしてるけど、まあ使わない。
858名無しさん@お腹いっぱい。:2014/01/31(金) 00:48:44.68 ID:w1fNzJCv0
メニューで思い出したけどtrunkだとemacs -nwでもメニュー使えるように
なってるね。
859名無しさん@お腹いっぱい。:2014/01/31(金) 08:09:57.87 ID:g3qZPBrw0
>>856
64bitマシン?
860名無しさん@お腹いっぱい。:2014/01/31(金) 16:52:53.02 ID:ytmmycPX0
ファイル末尾に[EOF]を表示させようとググってみました。
https://raw.github.com/tarao/elisp/master/end-mark.el
http://noqisofon.hatenablog.com/entry/20100828/1283004128

確かに表示はされましたが、

[EOF]□
    ↑
    最終カーソル位置
となってしまいます。

□[EOF]

最終カーソル位置

となるようには、どう変更すればよいのでしょうか?
861名無しさん@お腹いっぱい。:2014/01/31(金) 17:35:05.57 ID:uzZqt9bl0
これでどうかな。cursor プロパティで位置を制御すればいいらしい。

(defun set-buffer-end-mark()
(let ((overlay (make-overlay (point-max) (point-max) nil t t))
(eof-marker "[EOF]"))
(put-text-property 0 5 'face 'highlight eof-marker)
(put-text-property 0 1 'cursor t eof-marker)
(overlay-put overlay 'after-string eof-marker)))
862名無しさん@お腹いっぱい。:2014/01/31(金) 17:53:41.88 ID:NRUHVKY+i
860じゃないが頂きました
同じ要領で改行記号も表示出来るかな?
863名無しさん@お腹いっぱい。:2014/01/31(金) 18:04:41.32 ID:uzZqt9bl0
>>862
改行とかタブとかスペース/全角スペースとかを区別して表示したいんだったら
標準で入ってる whitespace-mode を使ったほうがいいんじゃないかな。
whitespace-newline-mode で改行だけ表示も可能みたい。
864名無しさん@お腹いっぱい。:2014/01/31(金) 21:28:13.76 ID:ytmmycPX0
>>861
ありがとうございました!
ただ、試してみましたが、うまくいきませんでした。。。(EOFが表示されなかった)
環境は、gnupackのEmacsで24.3.1です(一番最新のver)
865名無しさん@お腹いっぱい。:2014/01/31(金) 21:34:20.78 ID:uzZqt9bl0
>>861 はただの関数定義だから
(set-buffer-end-mark) を eval しないと表示されないけど、それをやった上で表示されないんだとすると
なんかおかしいんだろね。
866名無しさん@お腹いっぱい。:2014/02/01(土) 00:04:17.93 ID:kjMhmRK8P
>>859
64bitです
867名無しさん@お腹いっぱい。:2014/02/01(土) 00:34:48.66 ID:dbBBzds50
>>865
すみません。ただコピペしただけでした・・・orz
(add-hook 'find-file-hooks 'set-buffer-end-mark)
っていうのを追記した結果、それでファイルを開いたらうまくいきました。

お騒がせして申し訳ございませんでした。
868名無しさん@お腹いっぱい。:2014/02/01(土) 01:01:47.70 ID:K50LoDyY0
>>863
whitespace-newline-mode で改行だけ表示してみた
デフォは$なんで
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%BF%E3%83%BC%E3%83%B3%E8%A8%98%E5%8F%B7
にある記号を使ったら普通のエディタっぽくなったw
改行がうっすら見えてる方がしまりがいいんで、しばらく使ってみるよ
869名無しさん@お腹いっぱい。:2014/02/01(土) 01:09:47.91 ID:K50LoDyY0
ちなみに[EOF]を表示するよりは今まで通り(setq indicate-empty-lines t)する方が俺には良かった
870名無しさん@お腹いっぱい。:2014/02/09(日) 03:42:01.57 ID:qv8CbAFu0
gtagsを使おうと思って、
.emacs.d/bin/gtags
にダウンロードしたexeファイルを落として、そこへexec-pathを通したんですが、
うまくいきませんでした。

もしかして、Windows側のPATHへ.emacs.d/bin/gtagsを登録しないとダメでしょうか?
もしそうなら、Emaceの起動時にだけ、該当のディレクトリをPathに登録するなど可能でしょうか?
batファイルを書くのか、init.elに書くのかわかりませんが。
871名無しさん@お腹いっぱい。:2014/02/09(日) 07:47:37.82 ID:/hOC2jHM0
exec-path は emacs 自身が参照するパスだから、子プロセスがさらに子プロセス呼ぶなんて場合は
子プロセス用に環境変数も用意しなきゃいけない。つっても init.el の中で setenv すればいいだけなんだけど。
そこだけきっちりやれば emacs 環境下だけで設定されるパスってのも可能だよ。

あとはその動かないってのがほんとにパス通ってないせいなのかどうかなんだけどね。
872名無しさん@お腹いっぱい。:2014/02/09(日) 16:05:57.94 ID:qv8CbAFu0
>>871
取りあえず、PATHに追加したら問題なく動きました。
逆に、PATHさえ通しておけば、exec-pathに追加しなくても動きました。

そうなると、exec-pathの存在がイマイチわかりませんが。
873名無しさん@お腹いっぱい。:2014/02/09(日) 16:24:45.21 ID:/hOC2jHM0
いや、だから emacs が参照するのが exec-path。
起動時に環境変数 PATH が設定されてるとそこから exec-path をよろしい感じに作ってくれるだけ。

emacs 自身が参照する PATH を起動後に変更するには exec-path を弄るしか無いのさ。
たとえ setenv で PATH を変更しても call-process とか start-process は認識してくれない。
ただ子プロセスは setenv した PATH を引き継ぐからそっちでは認識する。

exec-path への追加した内容が変だったんでない? "/" と "\" の扱いとか環境変数と exec-path では異なるから。
874名無しさん@お腹いっぱい。:2014/02/09(日) 17:11:45.97 ID:qv8CbAFu0
exec-pathへの追加は、

(loop for f in (directory-files "~/.emacs.d/bin" t)
when (and (file-directory-p f)
(not (member (file-name-nondirectory f) '("." ".."))))
do (add-to-list 'exec-path f))

というのを書いて追加しました。
取りあえず、exec-pathを評価したところ、追加はされているみたいです。
(ただし、それをEmacs側が正しく認識しているかわかりませんが)
875名無しさん@お腹いっぱい。:2014/02/09(日) 22:54:31.23 ID:/hOC2jHM0
その状態で (call-process "gtags" nil "*temp*") とかやるとどうなる?
876名無しさん@お腹いっぱい。:2014/02/10(月) 00:03:33.79 ID:82udPoNL0
>>875
0が返ってきました
877名無しさん@お腹いっぱい。:2014/02/10(月) 00:18:30.87 ID:aGfgBeKR0
>>876
じゃあ emacs 側ではパスは正しく認識してるはず。
0ってのは実行して gtags が正常終了して戻り値返してきたってことであって
パスが通ってないなら実行ファイルが見つからないってエラーが出るはずだし。

うまくいかないってのがどういうエラーなのかわからんからなんとも言えないけど
gtags 側で自分自身のところに PATH が通ってないとダメなのかもしれんね。
exec-path に追加した後

(setenv "PATH"
(mapconcat (lambda (path)
(subst-char-in-string ?/ ?\\ (expand-file-name path)))
exec-path path-separator))

とかすれば一応 emacs 内でパス設定出来ると思うけどこれやってからだとどうだろう。
878名無しさん@お腹いっぱい。:2014/02/10(月) 00:59:44.95 ID:82udPoNL0
>>877
うまくいきました!ありがとうございます!

他にもag.exeを同じように
.emacs.d/bin/ag
の中に入れていて、exec-pathを通していましたが、うまくいきませんでした。
しかし、上記のコードをinit.elに入れたら、こちらもうまくいきました!

ただ、一つ疑問があったのが、gtagsにおいて、WindowsへのPathが通ってない
(exec-pathは通っている状態)において、タグファイルは生成されたのに、
そこから検索すると

'global' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と言われました(ag.exeも同じです)
タグを生成する時はexec-pathを見てるけど、それ以外は違うという事ですか?
ちなみにgtagsはggtags.elというのをインストールしてそこからタグを作りました。
879名無しさん@お腹いっぱい。:2014/02/10(月) 01:20:01.36 ID:aGfgBeKR0
>>878
外部プロセスを呼ぶときに、たまに shell-command とか call-process-shell-command、
または (call-process シェルのパス nil nil.... 実際のコマンド 引数...) みたいに
シェル経由して実行するのがあるんだけど、それだったりするのかもね。

そのエラーメッセージは windows のコマンドプロンプトで実行ファイルが見つからない時にでる
エラーメッセージだから、多分そうなんじゃないかと。
exec-path はあくまで emacs しか見えないから、cmd の方で実行ファイルが見つからなくて失敗したと。
880名無しさん@お腹いっぱい。:2014/02/10(月) 01:49:30.83 ID:82udPoNL0
>>879
本当にありがとうございました。

ところでこのようなコードって、そんなにスラスラと書けるようになれるものですか?
まだelisp関係は本とか読んでないのでイマイチわかってませんが。
(今年になってEmacsに移行し始めました)
わかる言語はC言語のみなんですが。
881名無しさん@お腹いっぱい。:2014/02/10(月) 02:20:11.11 ID:aGfgBeKR0
個人的には loop マクロを書ける方がすごいと思うけどな。
ググってでてきたコードとかをぼちぼち調べつつ info の elisp のとこ読んだり
describe-function したり aprops で関係ありそうな変数とか関数探したりとかして慣れてったらいいんでないでしょか。

elisp ってあんまり関数言語っぽい使われ方してないらしいし、とりあえず動いたら
それでいい、でいい気もする。
882名無しさん@お腹いっぱい。:2014/02/10(月) 02:54:58.69 ID:82udPoNL0
調べつつ書きながら動かして慣れるしかなさそうですね。

ところで、UNIX板のEmacsスレを見てきたら、
ここ数日で排他制御関係の話題からフォントの話題まで色々盛り上がってますね。
883名無しさん@お腹いっぱい。:2014/02/12(水) 15:19:23.68 ID:sWMFFash0
cmigemoが動かない…誰か助けてください

C-sでインクリメント検索するとき、ミニバッファにちゃんと
[MIGEMO] I-search
と表示されて、タスクマネージャ見ると cmigemo.exe もプロセスにいるのに、
日本語検索がまったくできません。ただの I-search になってしまいます。

OS は Windows7 64bit Professional、Emacs のバージョンは 24.3 です。
cygwinは入れていません。
香り屋さんから64bit Windows用のバイナリをダウンロードして、実行ファイル
とDLLパスの通ったところに置き、migemo.el は GitHub の emacs-jp から拾っ
てきています(下記URL)
https://github.com/emacs-jp/migemo/blob/master/migemo.el
使っている(はずの)辞書は UTF-8 版で、init.el への記述は以下です
884883:2014/02/12(水) 15:21:05.60 ID:sWMFFash0
【本文続き】
(require 'migemo)
(setq migemo-command "cmigemo")
(setq migemo-options '("-q" "--emacs"))
(setq migemo-dictionary "C:/Program Files/GNU/emacs243/site-lisp/dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-coding-system 'utf-8-unix)
(load-library "migemo")
(migemo-init)

ウェブを見ると皆さんこれで動いているようなのですが…動きません。お手上げです
885名無しさん@お腹いっぱい。:2014/02/12(水) 15:32:59.25 ID:0z/2+dz+0
コマンドライン上で↓を実行して、ka とか ja とか打ち込んでちゃんと反応はある?

cmigemo -q --emacs -d 辞書ファイル名

正規表現のパターンがちゃんと出てくるなら emacs とのやりとりでどっかちゃんと動いてないんだろうけど
886名無しさん@お腹いっぱい。:2014/02/12(水) 15:45:39.28 ID:1/UWwRQM0
cmigemo-default-win32-20110227.zip を使うんだよーん
887名無しさん@お腹いっぱい。:2014/02/12(水) 23:14:35.59 ID:G7VJ7D8t0
>>885
アドバイスありがとうございます
明日、試してみます

>>886
ありがとうございます
32bit版のバイナリも試してみたのですが、同じでした…
888名無しさん@お腹いっぱい。:2014/02/13(木) 00:25:53.72 ID:K2DqCYFw0
うちはこんなんなってます

;; @ migemo/cmigemo
(setq migemo-command "~/.emacs.d/migemo/cmigemo")
(setq migemo-options '("-q" "--emacs"))
(setq migemo-dictionary "~/.emacs.d/migemo/dict/utf-8/migemo-dict")
(setq migemo-user-dictionary nil)
(setq migemo-regex-dictionary nil)
(setq migemo-use-pattern-alist t)
(setq migemo-use-frequent-pattern-alist t)
(setq migemo-pattern-alist-length 1024)
(setq migemo-coding-system 'utf-8-unix)
(load-library "migemo")
(migemo-init)
889名無しさん@お腹いっぱい。:2014/02/13(木) 00:56:45.07 ID:i5O2bLzJ0
https://github.com/emacs-jp/migemo/blob/master/migemo.el#L56
cmigemoならこのオプションを試してみては
890名無しさん@お腹いっぱい。:2014/02/13(木) 06:55:42.87 ID:7A0OJeo20
使わなくなって長いから詳しくは覚えてないけど文字コード関係だったような……
891名無しさん@お腹いっぱい。:2014/02/13(木) 11:36:14.71 ID:7RAk+DwB0
Emacs+grepでxyzzyのGGrep
http://ohkubo.s53.xrea.com/xyzzy/#ggrep
のように、複数ディレクトリを対象としたgrepが可能なelsipってありますか?

あと、他に
http://ohkubo.s53.xrea.com/xyzzy/#multiple-replace
のような複数置換とか。
892名無しさん@お腹いっぱい。:2014/02/13(木) 12:06:14.91 ID:ZK7QE1Y10
複数ディレクトリを対象にしたのだと、標準で入ってるのでは
rgrep や grep-find あたりか。ag とか ack 用のもあるね。
検索対象ファイル群に文字コードが混在している場合は多言語対応した grep や ag を使わないといけないことに注意。

複数置換は対象の URL が見えないからなんともいえないけど
複数ファイルをまたいでってことなら moccur-edit あたりが対象かな。
あんまり複数ファイルまたいでの置換はしないから詳しくはわからない。
893883:2014/02/13(木) 23:21:40.16 ID:JP/+KbFY0
setq migemo-dictionary に辞書のファイル名を入れ忘れていただけでした…無事に動作しました。お騒がせいたしました…
894名無しさん@お腹いっぱい。:2014/02/13(木) 23:30:02.71 ID:l/yxHLi80
ぜんぶ雪のせいだ。
895名無しさん@お腹いっぱい。:2014/02/14(金) 01:23:40.63 ID:Dsw5YJeT0
>>891
dired でマークして query-replace-regexp というのもあるよ
複数行もOK
http://qiita.com/takc923/items/1d65622ed82697d00f6a
896名無しさん@お腹いっぱい。:2014/02/14(金) 01:29:30.57 ID:lRPiKGDz0
>>892
>>895
ありがとうございました。
897名無しさん@お腹いっぱい。:2014/02/14(金) 02:31:21.29 ID:9sUSHFLz0
color-moccur に moccur-edit 本当に便利だよ
http://www.bookshelf.jp/soft/meadow_50.html#SEC746
898名無しさん@お腹いっぱい。:2014/02/14(金) 03:42:19.68 ID:lRPiKGDz0
Emacsを最近使いはじめましたが、grep関連で引っかかってます。
日本語がうまく引っかからないのと、今までWindowsでGUI上でやってたので、
grepオプションとかイマイチわかってないのもあります。
lgrepで対話的にgrepしてみましたが、英数字はOKでしたが、日本語は無理でした。

みなさん、日本語をgrepする際は何を利用している(or どんな設定にしている)のでしょうか?
899名無しさん@お腹いっぱい。:2014/02/14(金) 07:35:38.89 ID:NWEAVR7I0
lgrep は幾つかオプション付けないとだめなんじゃなかったかと。
ちなみにここでいう lgrep ってのは cygwin のパッケージの一つの
lv と一緒にくっついてくる lgrep のことね。

emacs から使うときは
(setq grep-program "lgrep")
(grep-apply-setting 'grep-command "lgrep -n -Au8 -Ia ")
(grep-apply-setting 'grep-template (format "%s <C> <R> - <F>" grep-command))
(grep-apply-setting 'grep-find-template (format "find . <X> -type f <F> -exec %s <C> <R> - <N> {} +"))
とかやってるな。

-Au8 は基本の文字コードを UTF8 に、-Ia は入力の文字コードを自動に、ってオプションだね。
900名無しさん@お腹いっぱい。:2014/02/14(金) 07:36:44.47 ID:NWEAVR7I0
>>899
最後のいっこコピペミスだ
(grep-apply-setting 'grep-find-template
(format "find . <X> -type f <F> -exec %s <C> <R> - <N> {} +"
grep-command))
901名無しさん@お腹いっぱい。:2014/02/14(金) 10:49:57.58 ID:Uw4ohQK90
grepも最近はcolor-moccur使ってる。
color-moccurはElispのみの実装だから、agより遅いとか言われてるけど、
Windowsでもそのまま動作するのが便利。
902名無しさん@お腹いっぱい。:2014/02/15(土) 13:57:07.46 ID:nApDsOn80
まだ23.4を使ってる人いますか?
自分は24は各種Lispがビルド出来ないので見合せていますが。
903名無しさん@お腹いっぱい。:2014/02/15(土) 17:50:59.03 ID:zxftHwzv0
もう24.3。なんか動かないやつってある?
904名無しさん@お腹いっぱい。:2014/02/15(土) 19:39:07.62 ID:MxJYGCUb0
keisen って、ちゃんと動くんだっけ?
905名無しさん@お腹いっぱい。:2014/02/15(土) 19:42:17.90 ID:yKnASaNC0
そもそもが 23.4 でも動かないんじゃないか? keisen-mule は。
906名無しさん@お腹いっぱい。:2014/02/16(日) 10:48:07.05 ID:29JuohM50
NTEmacs 上で cygwin の gdb によるデバッグうまく行ってる人います?
他の端末上だと普通に run 出来るのに NTEmacs から呼び出すと gdb が stackdump してしまう。
fakecygpty 経由させてもやっぱり SEGV 発生してる模様。
907902:2014/02/16(日) 12:43:12.01 ID:4ZIWgThk0
自分は、FLIM, APEL, SEMI, Wanderlust, lookup, howm, navi2chを23.4で使ってるけど、ほぼ~/.emacs.elで起動に失敗するケースが殆ど。
みんなうまく使えてるのかなぁ。
908名無しさん@お腹いっぱい。:2014/02/16(日) 12:59:35.54 ID:waEdEm2N0
Wanderlustはいとーさんので使えてるよ−。
https://github.com/ikazuhiro

まあこちらでも問題なさそうだけどね。
https://github.com/wanderlust
909名無しさん@お腹いっぱい。:2014/02/16(日) 15:45:24.43 ID:72RULDoF0
gunpackのEmacsだとプライベートフォントが使えるみたいですが、
Emacs onlyのEmacsでも可能なのでしょうか?
910906:2014/02/16(日) 16:10:34.94 ID:29JuohM50
調べててわかった部分だけとりあえず。

間接的な原因は、emacs が gdb を起動する際に、gdb の設定の interactive-mode を自動で on にしていたためでした。
回避方法としては以下を追加で SEGV で落ちたりはしなくなります。

(add-hook 'gdb-mode-hook
(lambda ()
(gdb-input "-gdb-set interactive-mode auto" 'ignore)))

core ファイルと gdb のソース見た感じ、自端末の tty の属性のコピーをする段で NULL 値を参照して SEGV を起こしているようでした。
自端末の tty 属性は、 gdb が端末を持ってるかチェックする関数の中で初めてチェックする際に設定されるようですが、
interactive-mode が auto 以外の場合は初期化済みとみなしてその部分の処理がスキップされてしまいます。
実際に普通に mintty 等で gdb を実行した場合でも、最初に set interactive-mode on をしてから run すると SEGV になりました。
地味に gdb のバグな気もしますが。

もっともこれは環境によって端末まわりの初期化の手順がことなるため、Windows 用の初期化処理のみの問題のようです。
それと 64bit cygwin や他の Windows 環境で発生するかどうかはわかりません。

NTEmacs はあくまで cygwin 用ではない windows ネイティブにコンパイルされた gdb を想定しているんでしょうかね。
911名無しさん@お腹いっぱい。:2014/02/16(日) 16:16:29.91 ID:WlQ4ANX90
emacs添付のすべてのmodeの動作確認をしてるわけないじゃん
912名無しさん@お腹いっぱい。:2014/02/16(日) 16:17:01.70 ID:29JuohM50
>>909
NTEmacs 単体では無理ですね。フォントをロードするシステムコールを発行する必要があるみたいです。
gnupack のページにも同様の方法でフォントロードを実現してる旨が書いてあります。
http://gnupack.sourceforge.jp/docs/latest/UsersGuide_customize.html#_customize_font

逆に言えばそれをしているだけなので、起動している間だけ AddFontResource する小さいプログラムを書けばいけそう。
gnupack はソース公開してないっぽいかな?もっとも探せばそういうフリーソフトすでにありそう。
実行ファイルだと可搬性が下がって嫌な場合は powershell で win32api 呼び出しで頑張るって手もあるだろうけど
ニッチすぎる需要だからまず間違いなく自力で作らないと無理でしょうね・・・
913名無しさん@お腹いっぱい。:2014/02/16(日) 16:18:26.80 ID:pVy7wPXj0
むしろ NTEmacs に Windows ネイティブでないプログラムとの連携を想定しろって言う方が酷だろ
914名無しさん@お腹いっぱい。:2014/02/16(日) 16:26:22.87 ID:29JuohM50
まあ実際想定してないから fakecygpty とか必要になってくるわけだしねえ。
915名無しさん@お腹いっぱい。:2014/02/17(月) 01:14:35.66 ID:Uz3yYgrK0
つうかみんなcygwin好きだな
MinGWのgdbだとなんの問題もないよ
916名無しさん@お腹いっぱい。:2014/02/17(月) 09:49:39.04 ID:Csv7szHo0
>>915
多分 NTEmacs も MinGW の方のを想定してるっぽい。

ところで MinGW 版の場合で gdb-many-windows 状態の時に入出力ウィンドウは正しく動いてます?
cygwin 版は当然のごとく tty 周りがアウトだから死に機能になってます。
gdb -i=mi /bin/cat しても入出力ウィンドウで何も出来ない。
917名無しさん@お腹いっぱい。:2014/02/17(月) 11:26:09.74 ID:Bhn9mYqy0
>>916
確かに*input/output of cat.exe*では何の反応もないな
ただ(gdb)って表示されてる*gud-cat.exe*では入出力の反応はある
linuxだとどうなのか後で試してみる
918名無しさん@お腹いっぱい。:2014/02/17(月) 22:44:20.10 ID:Uz3yYgrK0
>>917
linuxで試したところちゃんと*input/output of cat*で入力と出力がされてる
つうことはMinGW版gdbにちゃんと対応できてないんだな…残念
919名無しさん@お腹いっぱい。:2014/02/18(火) 00:38:15.88 ID:Mm66AlRn0
>>918
MingW 版もファイルを介して入出力を別 tty 経由にする機能を実装してる、みたいなのがどっかに書いてあったから
NTEmacs 側で頑張れば使えるようになるかもしれない・・・けど手間考えると素直に linux とかでやったほうが良さそうな感じ。
920名無しさん@お腹いっぱい。:2014/02/18(火) 20:05:12.83 ID:+ehcrnn70
cygwinはminttyですら挙動が微妙だから、もうダメなのかもしれないなぁ
921名無しさん@お腹いっぱい。:2014/02/19(水) 00:21:45.72 ID:o5RA/BrM0
もうダメっていうと最近ダメになり始めた風に聞こえるけど
cygwinってもともとこんなんだぞ
922名無しさん@お腹いっぱい。:2014/02/19(水) 00:28:20.76 ID:LYcvm5dP0
大方の使用には耐えうる出来だと思うけどなあ。
NTEmacs じゃなくて cygwin 版 Emacs 使えばもっと気楽なのかもしれんね。
923名無しさん@お腹いっぱい。:2014/02/19(水) 00:36:33.28 ID:o5RA/BrM0
俺もNTEmacs+Cygwinで十分だと思う
でも人によってやりたいことは違うしCygwinでは駄目な人がいるのも当然だろうね

あとcygwin版Emacsは一部のマニア向けだと思う
924名無しさん@お腹いっぱい。:2014/02/19(水) 13:39:32.90 ID:IAX1RERv0
皆さんは、
 ・公式のGNU Emacs
 ・gnupack Emacs(Cygwin入り)
 ・gnupack Emacs(Emacs only)
だとどれを使ってるんですか?
書籍だとEmacs only使っておけばOKで
できればCygwin入りの奴は避けた方が良いとのことですが。
925名無しさん@お腹いっぱい。:2014/02/19(水) 14:03:14.17 ID:RsaiLKh10
オリジナルのソースにgnupackのIMEパッチ当ててMinGWでビルドしたものを使っているひねくれ者です
926名無しさん@お腹いっぱい。:2014/02/19(水) 14:04:48.66 ID:/OwqLwqu0
公式
日本語入力が腐ってるがSKK使えば他に困る事はない
927名無しさん@お腹いっぱい。:2014/02/19(水) 14:15:29.35 ID:3tVcABHN0
公式かな。
「表」とかのシフト jis で2バイト目が \ な文字で終わるディレクトリに dired で入れないとか
地味に変なとこはあるけど。gnupack のはパッチあたってるんだっけ?
ただこれは 24.4 で直りそうな感じ。Unicode API がどうのこうのって書いてあったし。

IME もメインが SKK だし GoogleIME だと言うほど変なことにはならない。
928名無しさん@お腹いっぱい。:2014/02/19(水) 19:21:23.32 ID:Xuugfvbt0
Cygwinつきのは最初からmigemoやgrepが使えるのがラクだよ。
ただ、最初からいろいろと設定してあるのがおせっかいに感じるかもしれない。
最近はmigemoなくてもいいか……と思い、gnupack Emacs onlyを使っている。
929名無しさん@お腹いっぱい。:2014/02/19(水) 20:02:11.65 ID:3tVcABHN0
コード書きがメインになると migemo 要らないかなーって感じもしてくるよね。
自分は今メールの読み書き Emacs でしなくなったし w3m も使ってないしで
あんまり Emacs 内で日本語を検索しなきゃいけないシチュエーションがなくなってきてる。
930名無しさん@お腹いっぱい。:2014/02/19(水) 22:05:38.90 ID:bp+XXn+w0
cygwinのNTEmacsでいいんじゃね?拡張したらPowerShellも使えるし
931名無しさん@お腹いっぱい。:2014/02/19(水) 22:43:53.63 ID:30xDXBVU0
みんな公式なんだね。
私は一応skkで日本語入力してるんだけど、cygwin 付き使ってる。

個人的に cygwin 付きの好きなところは、環境設定のパスをいじらなくても config からパスを通せるところと、USB メモリに入れておけば外出先の windows 機からでもすぐに自分の emacs が使えるところ。

外出先で ESS を使って R を操作できるのは本当にありがたい。

これは公式や emacs only では実現できないよね?
932名無しさん@お腹いっぱい。:2014/02/19(水) 22:55:10.78 ID:3tVcABHN0
>>931
公式でもいけるんじゃないかな。環境変数設定してるだけだし。
最近の cygwin はマウントポイントにレジストリ使ったりしないからパスさえなんとかしたらどうにでもなる気がする。
公式 Emacs 自身のポータブル化はググれば色々出てくるよ。

ただバッチ使ってゴリゴリやったり emacs -l init.el とかやるんだったら
gnupack のランチャー exe の方がスマートだよね。やってること変わらないならそれを使わない手はないかと。
933名無しさん@お腹いっぱい。:2014/02/19(水) 23:15:07.60 ID:30xDXBVU0
>>932
おぉ、そうなのですか!
gnupack の更新がこのままとまるようだったら検討してみようかな。

ありがとうございます。
勉強になりました。
934名無しさん@お腹いっぱい。:2014/02/25(火) 17:10:50.24 ID:No8MuTQV0
flymake 使いつつ C のコード書いてるとまれに flymake が固まってしまう。
list-process で見ると flymake-proc が run の状態なのに ps で見ると存在しない状態になってる事がある。
NTEmacs 側でプロセスの死亡を判断できなかったってことなんだろうけど、こういう症状になったことある人他にいないかしら。
確実に再現出来る方法がわからないからなんでそうなるのかなかなか調べられない。

今のところ関係ありそうなのっていったら
w32-read-pipe-delay を 5 とかにしてる弊害かなってぐらいなんだけど。
935名無しさん@お腹いっぱい。:2014/02/26(水) 18:10:15.17 ID:y6obVl0Y0
emacsのソース見てたらwindowsでのフルスクリーン絡みが新しいバージョンだとちゃんと実装されてて嬉しくなった。
今まではWM_SYSCOMMANDの送信だったけどこれウィンドウ切り替えしたときずれたりするんだよね。
ちゃんとShowWindowでの実装になっててすげえ助かる。
やっぱ最大化/最小化の関数が標準で実装になった影響なんだろかねえ。
936名無しさん@お腹いっぱい。:2014/03/02(日) 00:19:17.00 ID:vAEWGXQSP
Emacs 24.4 の pretest の Windows用ビルドバイナリを配布してる
サイトってあるんでしょうか?

GNU公式のWindows用
alpha版とかプリテスト版バイナリのサイトは、みんな
ここ数年更新が止まってて、どーなってんの?状態で・・・
937名無しさん@お腹いっぱい。:2014/03/02(日) 01:50:13.97 ID:fHJIACqS0
公式は正式にバージョン上がらないと配布してないんじゃないかな
それ以外の所は単純に面倒くさくなったんじゃないかと
938名無しさん@お腹いっぱい。:2014/03/02(日) 02:28:17.64 ID:Zcklg0t70
939名無しさん@お腹いっぱい。:2014/03/02(日) 02:36:00.03 ID:fHJIACqS0
>>938
おおおお
ちゃんと>>935になってて個人的にすげえ嬉しい
940名無しさん@お腹いっぱい。:2014/03/02(日) 02:41:51.04 ID:fHJIACqS0
あと eww がおっそろしく速いんだがそのまんまだと文字化けしまくって日本語使えない
941名無しさん@お腹いっぱい。:2014/03/02(日) 15:41:30.01 ID:7vBCPxEy0
>>940
ewwはlibxtml2を使っててlispで実行してるところが少ないから速いのかもね
ただ日本語使えないのはアカンな
なんらかの設定で回避できればいいけど
942名無しさん@お腹いっぱい。:2014/03/08(土) 00:45:26.38 ID:CxVHUnBy0
>>935
フルスクリーン周りは不満だったから、毎回パッチ当ててビルドしなくて済むならすごく助かる
943名無しさん@お腹いっぱい。:2014/03/08(土) 01:34:27.52 ID:IzNy4eUS0
普通に frame-parameter の fullscreen 設定するだけで正しく最大化最小化してくれるようになってたわ。
公式に関数も用意されたし。
凄く楽になった。
944名無しさん@お腹いっぱい。:2014/03/11(火) 00:51:27.61 ID:YPGyNQlI0
IMEパッチを最近のemacsに無理矢理当ててみました。
手元ではmingw-buildsでビルドした64bit版がなんとなく動いてます。
32bitでもビルドできるかは、やってないので不明です。

www1.axfc.net/uploader/Sc/so/532342
945名無しさん@お腹いっぱい。:2014/03/18(火) 15:04:06.74 ID:Ei21+RyY0
tempフォルダの場所をelispで取得するにはどうすればよいですか?
946名無しさん@お腹いっぱい。:2014/03/18(火) 15:29:56.64 ID:x2mPrLBC0
環境変数を見ればいいんじゃないの?
TEMP か TMP あたり設定されてると思ったけど。
947名無しさん@お腹いっぱい。:2014/03/18(火) 17:20:19.76 ID:Ei21+RyY0
ありがとうございます!
948名無しさん@お腹いっぱい。:2014/03/30(日) 18:50:44.77 ID:yxdEI4Zr0
org-mode で検索したタグに該当するツリーだけ表示もしくはエクスポートしたいんだけど、そんな機能は無いのかな。
949499 567:2014/04/19(土) 10:34:44.36 ID:kJkttDY/0
24.3.90用imeパッチです。cygwin emacs-w32用もマージしました。

http://www1.axfc.net/u/3225469
950名無しさん@お腹いっぱい。:2014/04/20(日) 22:55:13.94 ID:6cOJvPy70
>>949
ありがと、初めてemacsのビルドに成功した
x86_64-w64-mingw32 4.9
staticリンクだったからdbusとimagemagickにライブラリの追加必要だったけど
というかスタティックリンクは望ましくないのかな?
951名無しさん@お腹いっぱい。:2014/04/20(日) 23:18:12.22 ID:6cOJvPy70
あ、それとsrc/image.c 7987行目
これが未定義って怒られたので7989行目を使った
952949:2014/04/20(日) 23:53:56.87 ID:LLvN2Zzf0
>>950
スタティックリンクが望ましくないとかは特にないだろうとは思いますが
後でライブラリ差し替えできないとかですかね。

つか、スタティックリンクだとmingwでimagemagick組み込みできましたか。
私は昔試してみてうまくいかなかったので放置してました。
imagemagickは自ビルド?
953名無しさん@お腹いっぱい。:2014/04/21(月) 17:28:36.83 ID:QFBILEXr0
>>952
うん、基本的に何でもスタティックでやる。
Msys+mingwなんだけど、msys外からも使いたいツールがあるからね。

ちなみにウチのmagickが必要とするライブラリはこれで
-ljbig -llcms2 -ltiff -ljpeg -lpng -lfftw3 -lfontconfig -lfreetype
-lwebp -lwmflite -llzma -lintl -liconv -pthread -lbz2 -lopenjp2
-lxml2 -lz -lgdi32 -lm -lgomp(あとws2_32も追加したような気がする)

dbusはこれ(gdi32も追加したかな?)
-lws2_32 -liphlpapi

magickとdbus独立でリンクフラグ見てるから、LIBSに追加しても無駄なのよ、
しかもLIBSのライブラリの方が先にリンクされちゃうから。
なので、configure後src/makefileに追記で対応。
普通に使う時はxx.pcのLibs.privateにくっつけて、pkg-configに--staticフラグ
追加してんだけどね
早速w3m噛ませてみたけど、当たり前だがvimとほとんど変わらず動いて幸せ
ちな今のlibgcの関数がw3m開発当時のものと結構違ってて、自分でやるには若干
骨が折れる

兎に角ありがと、もうemacsには縁が無いと思ってた
しかも欲しいパッチまで同梱してあるし!至れり尽くせりです
954名無しさん@お腹いっぱい。:2014/04/23(水) 04:00:07.45 ID:ItDdBaP60
これやっぱsharedの方がいいかも
staticライブラリだと、画像が表示されない。
sharedライブラリ使ったら表示された、jpegとgifで確認。
ライブラリのバージョンは最新。
でも何故かpngは両方表示可能。
ま、テキストエディタなんですけどねこれ
955名無しさん@お腹いっぱい。:2014/04/23(水) 04:34:23.02 ID:Ms4eGh4F0
M-x undoでモザイクが外れたぞ!
956名無しさん@お腹いっぱい。:2014/04/23(水) 19:21:34.03 ID:qMix2K1H0
M-x replace-regexpしたらマムコがティンコに変わったよ(´・ω・`)
957名無しさん@お腹いっぱい。:2014/04/23(水) 21:24:12.65 ID:lg1sNUWN0
>>954
あっ、そうか、そうでした、windowsのemacs(cygwin版除く)は
dynamic-library-alistにあるdllを自分で読み込んで使ってるので
dllがみつからないと表示されないですね。

pngはどっかpathの張ってあるところにdllが落ちてるとか?
958名無しさん@お腹いっぱい。:2014/04/23(水) 21:59:35.21 ID:ItDdBaP60
>>957
ズバリその通りで、GTK用にDLLフォルダ作って環境変数でリンク張ってるんだけど
そこから読み込んでくれたみたい。jpegはバージョン古いの使ってた、gifは確かなん
かのライブラリが自前で実装してたのかな?なので入れてなかった
なるほどこれ仕様なんだねー、納得した重ね重ねありがと
959949:2014/04/25(金) 20:35:59.46 ID:6BpjxysX0
staticリンクでimagemagick組み込めたということだったので触発されて
そこらへんちょっといじってみました。

以下のパッチでimagemagickも他の画像同様dynamic-library-alistから
dllを読み込むようになります。

http://www1.axfc.net/u/3229955

>>949のパッチ後ソースへのパッチですが>>949を当ててない元のソースにも
offset ... lines は出ますが当たります。

bmpを表示させてみるぐらいしか動作確認してないので何かおかしかったら
ごめんなさい。
960名無しさん@お腹いっぱい。:2014/04/26(土) 08:41:17.44 ID:reenRA+G0
>>959
パッチのご報告
emacs側で対応してる画像フォーマットは、imagemagick側でインクルードしてればコレだけで表示可能
恐らくネットで配布してるmagickのdllは、基本的なフォーマットに対応してるはずだからこの2個のdllだけ
で画像表示はいけそう
画質とかは分からないけど、兎に角表示は大丈夫だったよ、おつかれさま。
961名無しさん@お腹いっぱい。:2014/04/28(月) 00:19:31.39 ID:l50widqQ0
>>949
ありがとうございます。
README.txt に沿って、MinGW/MSYS の gcc 4.8.1 でビルド出来、emacs 自体
立ち上がるんですが、どうも site-lisp directory 下のファイル読んでもらえない感じです。
今回、directory 構造が結構変わったので、
emacs-24.3.90 (top directory)
....
|-- share
| |-- applications
| | `-- emacs.desktop
| |-- emacs
| | |-- 24.3.90
| | `-- site-lisp <--- ここに配置してるんですが、なんか勘違いしてますでしょうか?
....
この directory に subdirs.el はありますし、ビルドで特にエラーなど出てない感じなんですが。
962949:2014/04/28(月) 20:29:04.04 ID:iYIkqinj0
そこでよいです。
site-lisp下が読めてないんじゃなくて何かがうまくインストールできてなくて
site-lisp下に入ってないんじゃないかな。私が気づいたところではapelとか。
963名無しさん@お腹いっぱい。:2014/04/29(火) 11:49:55.12 ID:sxgeAzUL0
>>962
ご返事ありがとうございます。
.emacs で明示的に load-path に追加すれば、
| |-- emacs
| | |-- 24.3.90
| | `-- site-lisp 以下に追加した site-lisp も普通に読めていることと、
sourceforge.net/projects/emacs-bin/files/
から落としてきた binary では、.emacs での追記なく読めること、などから
やはり私のビルドでどこかミスしてるんだと思います。もう少しトライ続けてみます。
964名無しさん@お腹いっぱい。:2014/04/29(火) 13:45:49.52 ID:d3vCFMye0
うーん、どういう状況でそうなるのかよくわかりませんが
configure後のsrc/epath.hのPATH_SITELOADSEARCHがおかしいのかな。
965名無しさん@お腹いっぱい。:2014/04/29(火) 13:52:12.27 ID:d3vCFMye0
src/epaths.hでした
966名無しさん@お腹いっぱい。:2014/04/29(火) 16:30:28.11 ID:sxgeAzUL0
>>965
早速にありがとうございました。確かに、configure の後:
epaths.h の #define PATH_SITELOADSEARCH が定義されてません(空)でした。
マニュアル編集で
#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/24.3.90/site-lisp;%emacs_dir%/share/emacs/site-lisp"
してビルドして、読めるようになりました。ありがとうございました。
ところで、configure 時に "msys-to-w32: invalid path d:" が出るのに気が付きました。
(MinGW は d:\ に導入して D:\MinGW\msys\1.0\etc\fstab は d:/mingw /mingw 状態)
ちゃんと調べてませんけど、
lists.gnu.org/archive/html/emacs-devel/2013-11/msg01134.html
のスレッドとか関係あるのかなあ?
967名無しさん@お腹いっぱい。:2014/04/29(火) 17:28:49.51 ID:d3vCFMye0
ああ、なるほど。わかりました。
たしかmsys-to-w32でmsysのパスを windowsのドライブ文字:/... の形式にして
epaths.hに設定してたかと。
多分configure --prefix= で d:/... で指定していると思いますが
/d/... で指定すればよいと思います。
もしくはどこかにmountしてそのパスで指定するか。
968名無しさん@お腹いっぱい。:2014/04/29(火) 20:10:03.76 ID:sxgeAzUL0
>>967
ご指摘のとおり、以前は configure --prefix=d:/emacs-24.3.90 としてました。
これを --prefix=/d/emacs-24.3.90 とすることで、 PATH_SITELOADSEARCH
が空になることを避けられました。
早速のアドバイス、まことにありがとうございました。
969名無しさん@お腹いっぱい。:2014/05/08(木) 22:07:43.31 ID:TJpWSP+D0
gnupackのunofficial版が出ていますね。
http://aikotobaha.blogspot.jp/search/label/gnupack
970949:2014/05/15(木) 00:35:51.80 ID:1FLoMDoi0
>>949 でも行はズレるけど24.3.91に当たると思いますが一応24.3.91用にして
gistに置いてみました。

emacs-24.3.91-w32-ime.diff
https://gist.github.com/rzl24ozi/a282260d2dd136daab14

README.txt
https://gist.github.com/rzl24ozi/1dd94943f638e84ef1c0
971名無しさん@お腹いっぱい。:2014/05/15(木) 15:48:20.19 ID:RFCVB9gY0
24は自分の環境だと.emacsがうまく読み込めないので、まだ23.4のままでいる。
972名無しさん@お腹いっぱい。:2014/05/18(日) 19:38:25.87 ID:On9a24mG0
なおせよww
973名無しさん@お腹いっぱい。:2014/05/18(日) 20:34:48.24 ID:zRZdn9dk0
>>971
最近、ネットでは24のNTEmacsの情報が不足してると思う。
debianのstableでも、まだ23.4のままだし。ちょっと怖い。
974名無しさん@お腹いっぱい。:2014/05/18(日) 23:21:21.11 ID:SDpYosGs0
24.3.90 だと、ビルドの仕方から .emacs の読み込みから色々違うのね。
いまんとこ、24.3.1 でいいや。
975名無しさん@お腹いっぱい。
保守