NTEmacs スレッド 5 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
垢版 |
2015/03/09(月) 00:01:58.25ID:0/C/Ivt60
前スレ
NTEmacs スレッド 4
http://anago.2ch.net/test/read.cgi/software/1401870078/

GNU Emacs
http://www.gnu.org/software/emacs/

gnupack (cygwn + emacs package)
http://sourceforge.jp/projects/gnupack/

GNU emacs(x64)
http://hp.vector.co.jp/authors/VA052357/emacs.html

CVS http://savannah.gnu.org/cvs/?group=emacs
Git http://savannah.gnu.org/git/?group=emacs

FAQ http://www.gnu.org/software/emacs/windows/ntemacs.html
EmacsWiki http://www.emacswiki.org/
Mailing Lists http://savannah.gnu.org/mail/?group_id=40

Bug Report
M-x report-emacs-bug RET
2015/03/09(月) 00:03:14.90ID:0/C/Ivt60
参考:IMEパッチ https://github.com/chuntaro/NTEmacs64
2015/03/09(月) 00:25:04.78ID:zDuRp1Df0
>>1
4名無しさん@お腹いっぱい。
垢版 |
2015/03/10(火) 00:09:03.35ID:sviFW3ub0
NTEmacs @ ウィキ
http://www49.atwiki.jp/ntemacs/
2015/03/12(木) 23:12:11.62ID:mVuL7AIB0
ダメ文字対策で w32-quote-process-args を nil にして自前でクォート処理するってのが前スレであったけど、
あれ windows ネイティブなプログラムに対してだとうまく動かないことがあるね

(call-process "reg" nil nil nil "query" "HKLM\\Software")

とかやるとバックスラッシュが余計にエスケープされちゃうせいかエラーになる
cygwin のプログラムの場合はバックスラッシュはエスケープする処理いれないとうまくいかない
emacs 本体でも cygwin のプログラムかどうかチェックしてクォート処理変えてたりするみたいなんだよなあ

ちなみに shell-command でシェル経由での呼び出しだと cygwin 側でうまくやってくれるからかうまくいく
2015/03/13(金) 00:43:15.99ID:wYBNLdwi0
>>5
> ダメ文字対策で w32-quote-process-args を nil にして自前でクォート処理するってのが前スレであったけど、
> あれ windows ネイティブなプログラムに対してだとうまく動かないことがあるね
それはあの書き込みが間違っているだけ。

どうせパッチ当てないとIMEもまともに動かないんだから、
こちらもソースに手を入れた方がいいと思う。
2015/03/13(金) 00:44:22.19ID:Zz36ck6N0
>>6
ダメ文字対策のパッチってもうあるの?
2015/03/13(金) 01:01:56.35ID:+VRKVDZZ0
いい加減 NTEmacs+cygwin なんていう設定マニアのおもちゃから卒業して
cygwin 版 emacs を使うべき
fakecygpty だの引数 cp932 変換だのダメ文字対策だの全部必要ない
生産的行動より init.el 弄るのが楽しい人だけ NTEmacs 使ってえばいいと思うよ
2015/03/13(金) 02:26:19.62ID:JUZcP3O60
>>7
ベースが古いけどこれ?
https://highmt.wordpress.com/2010/10/20/ntemacs23-2-shift_jisパッチ/
2015/03/13(金) 06:41:51.58ID:Zz36ck6N0
>>9
ファイル名の部分はもう関係なくなってるからそれ以外のところ除けばいいのか
サンキュー

本家にバッチ送ったけどダメだったんだね
2015/03/13(金) 06:55:50.96ID:JUZcP3O60
gunpackへの取り込み時のメモ
http://d.hatena.ne.jp/ksugita0510/touch/20120205/p1
2015/03/13(金) 07:05:55.38ID:Zz36ck6N0
>>10
それ以外のところ、じゃなくそれ除けば、だった。
2015/03/13(金) 08:39:13.94ID:+VRKVDZZ0
どうせパッチ書いても本家に取り込まれないしな
バイナリクレクレ君を助長するだけの話だよ
2015/03/13(金) 08:43:11.54ID:4l/kLh5g0
>>5
>emacs 本体でも cygwin のプログラムかどうかチェックしてクォート処理変えてたりするみたいなんだよなあ

この場所教えて
2015/03/13(金) 08:59:12.62ID:Zz36ck6N0
>>14
今ソース見られないけどクォート処理してる関数の中で
is_cygnus みたいなフラグ設定してる関数がそれ。
実行ファイルのヘッダ見たりして cygwin の dll インポートしてたら
cygwin のプログラムだって判定してたと思った。
2015/03/13(金) 09:05:16.56ID:Zz36ck6N0
ソース見れないってこともないな。公式で見ればいいのか。
w32_executable_type で実行ファイルの種類判定、
w32proc.c の1713行で cygwin のアプリかどうかでクォート文字の変更処理してるね。
2015/03/13(金) 10:51:52.20ID:pC0MUYe20
>>13
> バイナリクレクレ君を助長するだけの話だよ

実にウザッタイやつらの言い方だな
2015/03/13(金) 15:00:56.44ID:zM1moXep0
>>16
ありがとう。
2015/03/13(金) 22:36:05.39ID:Zz36ck6N0
しかしここも終わりな感じかなー
普段から2chMateでみてたから影響なかったけど
ここはnavi2ch使ってる人多そうだしなー
2015/03/13(金) 23:56:29.78ID:EcNfOx9H0
前スレにてTSF経由でMS-IMEが使えるようになったおかげで、
俺にとって公式バイナリが実用になって助かっている。
過去ログを見るのが難しくなるとこういうのが埋もれてもったいないな。
せっかくだからTSF用の設定を貼り付けておく。
モードラインや短縮入力は好みの問題。ミニバッファも快適。

; TSFのAPIによりIMEを使用する。
(load-library "kkc-cmd")
; quailのjapaneseモードラインを変更する。
(load-library "quail/japanese")
(setf (nth 1 (quail-package "japanese")) "ja-")
(setf (nth 1 (quail-package "japanese-ascii")) "jaA")
(setf (nth 1 (quail-package "japanese-zenkaku")) "jaZ")
; quailのkkcモードラインを変更する。
(setq kkc-input-method-title "JA-")
; 短縮入力を追加する。
(quail-select-package "japanese")
(if (equal (quail-name) "japanese")
(quail-define-rules ((append . t))
("S" " ") ; IDEOGRAPHIC SPACE(U+3000)
("M" #xff0d) ; FULLWIDTH HYPHEN-MINUS
("T" #xff5e) ; FULLWIDTH TILDE
))
2015/03/14(土) 00:31:05.96ID:e7om0rDj0
どうでもいいけど大文字JAって農協みたいだな
2015/03/15(日) 01:59:16.42ID:EqmJ3nkc0
navi2ch使ってる人は思ってるより少ないと思うよ
話題がないだけ
2015/03/15(日) 22:27:42.47ID:QF5aGCDs0
windows のコマンド引数のクォートって妙な仕様なんだな。\がパス区切りに使われちゃった故の不幸か。
・普段の \ はそのまんま解釈される。\\ は \\ として解釈される。
・" の前にあるときだけ \ がエスケープ文字になり " として解釈される。
・" の前に連なってるぶんだけ \\ が \ として解釈される。

\hoge => \hoge
"hoge" => hoge
\"hoge => "hoge
\\hoge => \\hoge
\\\"hoge => \"hoge
\\\\\"hoge => \\"hoge
\\\\hoge => \\\\hoge
\\\\\#hoge => \\\\\#hoge
2015/03/15(日) 23:40:03.21ID:UR9dTCaF0
>20

すいません、これためしてみたいんですけど、
いきなり1行目でエラーになります。
kkc-cmd.elってどこからダウンロードすればいいんでしょうか?
2015/03/15(日) 23:55:41.66ID:2mslD0n80
>>24
前スレ(NTEmacs4)の>355,356にある。
展開方法は前スレ>322,325を参照。つまりxzとbase64。
TSFTest.exeも必要だが、それは前スレの>312,325を参照。

前スレは「NTEmacs スレッド 4」でググれ。
2624
垢版 |
2015/03/16(月) 00:48:49.57ID:5zwuaD9R0
日付かわっちゃいましたけど、24です。

丁寧な説明ありがとうございました。m(_"_)m
がんばってみます。
2015/03/16(月) 11:14:20.49ID:kwcqOGej0
>>23
これじゃcygwinのルールとは共存できないから
Cソースでやってるみたいにバイナリ判別して処理わけるしかないね。
2015/03/16(月) 16:48:55.75ID:K81jtoPS0
早くも24.4.91出てるね
2015/03/16(月) 16:56:27.19ID:/Zgdg9q10
24.5のプリテストだよね?
今回のはあんまりwindows関係ない感じな気がする。
2015/03/17(火) 14:33:34.41ID:boEjTHhp0
2で紹介(chuntaro)されているIMEパッチの動作だけど
IME ONで C-x d ってやったときに
C-x と d をすばやく押すと問題ないんだけど
ゆっくり押すと d がIMEに取られてイラッとなるんだけど
直し方ってないですかね?
2015/03/18(水) 01:51:20.34ID:TcY0HVke0
helm-read-file-name でネットワークドライブを入力しやすくする方法ってないでしょうか。
一時的にhelmを無効化したいのですが、やり方がわかりませんでした。
2015/03/18(水) 02:21:03.26ID:KPmiThkj0
>>27
cygwinのコマンド等でバイナリ判別をする簡単な方法ってないかな。
fileではダメだった。
2015/03/18(水) 06:58:25.67ID:MdV7hAah0
>>32
いまちょっとソースさわれないからコピペできないけど、ldd で cygwin1.dll がロードされてないかチェックする関数作って、
判定か偽の時は "\\(\\(\\\\\\)*\\)\"" => "\\1\\1\\\\\"" な正規表現でクォートするってので一応解決できたよ。
正規表現は今動かせないから間違ってるかもしれないけど。

ldd 呼び出すときにクォートの advice が再帰しないようにする必要あり。

書いてる時に思ったんだけど、cygwin の dll でクォート切り替えてるってことは msys 系のは正しくクォートされないんじゃないかなぁ。
ネイティブの NTEmacs も似たような判定法だったんだけどそこらへんどうなってるんだろ。
2015/03/18(水) 07:02:31.11ID:MdV7hAah0
>>33
× cygwin の dll でクォート切り替え
○ cygwin の dll のロード有無でクォート切り替え
2015/03/18(水) 12:29:39.72ID:2QftJ3KW0
>>33
毎回チェックのためにプロセス走るのがありなら
封印していた環境変数経由で引数渡しするラッパーもありな気がしてきた
クォートもユニコード引数も解決してくれるぜ
2015/03/18(水) 12:34:14.66ID:2QftJ3KW0
>>31
一時的にhelm-suspend-update-flagをtにするんじゃなかったかな
前スレだか前々スレにlocate走るのを防止する方法のとこで出てた記憶がある
■ このスレッドは過去ログ倉庫に格納されています
大学生アイラと影の怪物と戦うリョウが、深夜3時3分の静止した世界で交錯する超常スリラーの概要

ニューススポーツなんでも実況