前スレ
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
探検
NTEmacs スレッド 5 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん@お腹いっぱい。
2015/03/09(月) 00:01:58.25ID:0/C/Ivt602015/04/01(水) 10:20:18.80ID:PIdj6min0
>>49
間接参照は ${!hoge} でいける
for i in "PATH" "HOMEPATH" "SHELL"; do
echo "(setenv \"$i\" \"`cygpath -amp "${!i}"`\")"
done
間接参照は ${!hoge} でいける
for i in "PATH" "HOMEPATH" "SHELL"; do
echo "(setenv \"$i\" \"`cygpath -amp "${!i}"`\")"
done
51>>45
2015/04/01(水) 13:41:02.46ID:BrXX+ji90 >> 50
ありがとう完璧だ
ありがとう完璧だ
2015/04/01(水) 15:34:28.05ID:PIdj6min0
>>51
*rc 側に書かなくても emacs 側で bash 呼び出すようにすれば init.el 側で完結も出来そうね。
個人的にはシェル側に手を加えるのはあんまり好きじゃないから exec-path-from-shell のアプローチが好き。
emacs 実行ごとにプロセス一個走るのをうっとおしく感じるかどうかってのもあるだろうけど。
24.5 で変わる部分眺めてたけど
NTEmacs 的にはユニコード文字列がフレームタイトルに表示出来るようになったぐらいかな。
徐々に 〜W 系の API 呼び出し増えてってて嬉しい。
はよネイティブに UTF-8 をコマンド引数に渡せるようになるといいね。
*rc 側に書かなくても emacs 側で bash 呼び出すようにすれば init.el 側で完結も出来そうね。
個人的にはシェル側に手を加えるのはあんまり好きじゃないから exec-path-from-shell のアプローチが好き。
emacs 実行ごとにプロセス一個走るのをうっとおしく感じるかどうかってのもあるだろうけど。
24.5 で変わる部分眺めてたけど
NTEmacs 的にはユニコード文字列がフレームタイトルに表示出来るようになったぐらいかな。
徐々に 〜W 系の API 呼び出し増えてってて嬉しい。
はよネイティブに UTF-8 をコマンド引数に渡せるようになるといいね。
2015/04/01(水) 20:01:53.54ID:BrXX+ji90
>>52
NTEmacs + Cygwin の環境で exec-path-from-shell って使えたっけ?
このサイトの通り、セットされる PATH が cygwin 形式になるからうまく動かなかったと記憶
ttp://aki2o.hatenablog.jp/entry/2013/08/26/NTEmacs%E3%81%A7exec-path-from-shell%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E8%89%B2%E3%80%85%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E5%AF%BE%E5%87%A6
だから*rcをいじって色々やってた
> UTF-8 をコマンド引数に渡せるようになるといいね。
ホントそれ。cp932 エンコードとか、標準入力でのやりとりにするとか
トリッキーな回避法はもううんざりだからね
NTEmacs + Cygwin の環境で exec-path-from-shell って使えたっけ?
このサイトの通り、セットされる PATH が cygwin 形式になるからうまく動かなかったと記憶
ttp://aki2o.hatenablog.jp/entry/2013/08/26/NTEmacs%E3%81%A7exec-path-from-shell%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E8%89%B2%E3%80%85%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8B%E5%AF%BE%E5%87%A6
だから*rcをいじって色々やってた
> UTF-8 をコマンド引数に渡せるようになるといいね。
ホントそれ。cp932 エンコードとか、標準入力でのやりとりにするとか
トリッキーな回避法はもううんざりだからね
2015/04/08(水) 22:35:47.74ID:lWPCiwtZ0
なんかIMEパッチを25.5-rc3にあててビルドするとxdisp.cからxdisp.oをビルドするところで
こけるね。
パッチを当てないとビルドが通るけどね。
こけるね。
パッチを当てないとビルドが通るけどね。
2015/04/09(木) 00:16:44.75ID:eMkIsfzA0
そりゃそうでしょ。
パッチ当てずにコケるようならリリース準備失敗中ってことになるから。
パッチ当てずにコケるようならリリース準備失敗中ってことになるから。
2015/04/09(木) 01:12:29.85ID:aipNkHpa0
>>2にあるemacs-24.4-w32-ime.diffを24.5-rc3に当ててビルドできてるけど?
2015/04/12(日) 01:23:28.45ID:pGjiMhUv0
24.5がでたからMSYS2のmingw64でコンパイルしてみたんだけど
pop.cのコンパイルでおちるなぁ…
なぜだ…
pop.cのコンパイルでおちるなぁ…
なぜだ…
5857
2015/04/12(日) 08:41:13.56ID:pGjiMhUv0 自己レスだがdbusのこと忘れてた。
59名無しさん@お腹いっぱい。
2015/04/12(日) 11:41:22.33ID:d/2zEuUy02015/04/12(日) 12:54:02.57ID:d38XNn6P0
config.logでchecking for gnutls ...がなぜこけてるか見てみるといいんじゃないかな
2015/04/12(日) 14:20:07.37ID:0iuFFtU90
>>59
emacs-bug で 最新版の windows でのビルドで gnutls 絡みのスレッドたってるね。
バージョンがどうのって話しっぽいけど。これ関係ないかな?
http://lists.gnu.org/archive/html/bug-gnu-emacs/2015-04/msg00287.html
emacs-bug で 最新版の windows でのビルドで gnutls 絡みのスレッドたってるね。
バージョンがどうのって話しっぽいけど。これ関係ないかな?
http://lists.gnu.org/archive/html/bug-gnu-emacs/2015-04/msg00287.html
62名無しさん@お腹いっぱい。
2015/04/12(日) 22:55:26.84ID:dCQnSafJ06360
2015/04/13(月) 00:27:39.05ID:ksn2Su6v0 gnutlsのパッケージがインストールされているのにそうなるなら
環境変数PKG_CONFIG_PATHに/mingw64/lib/pkgconfigが入ってないとか。
環境変数PKG_CONFIG_PATHに/mingw64/lib/pkgconfigが入ってないとか。
2015/04/13(月) 01:04:02.73ID:CPTnWQxd0
ちゃんとmingw64_shell.batを起動してます?
msys2_shell.batだとgnutls見つからないよ。
msys2_shell.batだとgnutls見つからないよ。
2015/04/13(月) 01:45:32.29ID:h1Z4gtOC0
2015/04/13(月) 17:25:25.14ID:d+bAkWpZ0
パッチ版もありました。
http://cha.la.coocan.jp/doc/NTEmacsBuild245.html
http://cha.la.coocan.jp/doc/NTEmacsBuild245.html
2015/04/13(月) 22:22:46.15ID:V00i4ziY0
win32 版のemacsが終了時にエラー吐くの原因が分かった。
というか、mingw の libgcc の既知の不具合で、emacs の etc/PROBLEMS に書いてあった
とりあえず回避するには、configure 時に CC="gcc -shared-libgcc" にすればいいみたい
というか、mingw の libgcc の既知の不具合で、emacs の etc/PROBLEMS に書いてあった
とりあえず回避するには、configure 時に CC="gcc -shared-libgcc" にすればいいみたい
68名無しさん@お腹いっぱい。
2015/04/14(火) 12:22:40.57ID:f+OKfqTe0 >>67
cha.la.coocan.jp/doc/NTEmacs.html#binary 「最新(24.5)」に
「24.4の挙動があやしい部分は、24.5でも変わっていない」書いてあるけど、
そこに上がってる emacs-24.5.zip (http://cha.la.coocan.jp/files/emacs-24.5.zip) は
直ってる (とりあえずの回避策とった) やつ?
cha.la.coocan.jp/doc/NTEmacs.html#binary 「最新(24.5)」に
「24.4の挙動があやしい部分は、24.5でも変わっていない」書いてあるけど、
そこに上がってる emacs-24.5.zip (http://cha.la.coocan.jp/files/emacs-24.5.zip) は
直ってる (とりあえずの回避策とった) やつ?
2015/04/14(火) 14:05:41.75ID:f+OKfqTe0
2015/04/14(火) 19:07:05.07ID:XUSbFSD90
>>67
確かに24.4のetc/PROBLEMSにも書いてあるね
しかし、見つけるのがすごいと思う
で
> configure 時に CC="gcc -shared-libgcc" に
32bit版をこれでビルドしてみたら
少なくとも終了時のエラーは吐かなくなった
他にどんな怪しい挙動するか知らない新参だけど
確かに24.4のetc/PROBLEMSにも書いてあるね
しかし、見つけるのがすごいと思う
で
> configure 時に CC="gcc -shared-libgcc" に
32bit版をこれでビルドしてみたら
少なくとも終了時のエラーは吐かなくなった
他にどんな怪しい挙動するか知らない新参だけど
2015/04/14(火) 20:34:39.51ID:/xEYMFsM0
NTEmacs64 24.5 の chuntaro 氏にも感謝。
2015/04/14(火) 21:07:52.49ID:EStCjSBE0
おお、chuntaro さんのも更新されたんだ
ありがてえありがてえ
ありがてえありがてえ
2015/04/14(火) 23:30:28.10ID:ho3MkNg10
IMEパッチを検証してみると、カーソルがウィンドウを移動したっていう
hookもなくてパッチでhookを作って何とかしてるってのが分かったけど
結局それじゃ拾いきれないのがある
例えば、y-or-no-pとかその類でminibufferでIMEがONのまんまだ
helmとかもなんか駄目だな
y-or-no-pとかいちいちadviseしていけばいいけどなかなか一筋縄ではいかないな
hookもなくてパッチでhookを作って何とかしてるってのが分かったけど
結局それじゃ拾いきれないのがある
例えば、y-or-no-pとかその類でminibufferでIMEがONのまんまだ
helmとかもなんか駄目だな
y-or-no-pとかいちいちadviseしていけばいいけどなかなか一筋縄ではいかないな
2015/04/14(火) 23:38:40.28ID:EStCjSBE0
使ってないから適当こくけど minibuffer-setup-hook/minibuffer-exit-hook とかじゃだめなん?
2015/04/14(火) 23:47:41.35ID:ho3MkNg10
>>74
minibuffer-exit-hook はIMEパッチ内でも使ってるけど、minibuffer-setup-hook を使っても
y-or-no-p とかは無反応だ
駄目な場合はで多いのは cursor-in-echo-area を t にするやつ
これをするとカーソルがminibufferに飛ぶけどhookは一切呼ばれないからIMEがオフにならない…
minibuffer-exit-hook はIMEパッチ内でも使ってるけど、minibuffer-setup-hook を使っても
y-or-no-p とかは無反応だ
駄目な場合はで多いのは cursor-in-echo-area を t にするやつ
これをするとカーソルがminibufferに飛ぶけどhookは一切呼ばれないからIMEがオフにならない…
2015/04/14(火) 23:59:53.15ID:EStCjSBE0
>>75
y-or-n-p は read-key 使ってるからか。
read-key のアドバイスで cursor-in-echo-area が t なら・・・的なのを入れれば
擬似的にミニバッファ入力してるように見せかけてるのは回避出来るようになるかなぁ。
あーでも read-event とか他にも色々あるね。
y-or-n-p は read-key 使ってるからか。
read-key のアドバイスで cursor-in-echo-area が t なら・・・的なのを入れれば
擬似的にミニバッファ入力してるように見せかけてるのは回避出来るようになるかなぁ。
あーでも read-event とか他にも色々あるね。
2015/04/15(水) 00:16:25.18ID:iWcVp+8o0
>>76
本家の方でずばりカーソルがwindowを移動したっていうhookを作ってもらえれば万事解決なんだけどね
そんなのあるもんだと思ってたけど無いっぽい (知らないだけなのかね)
y-or-no-pはGUIのダイアログバージョンもあるけど、あんまりスマートなコーディングになってなかったな…
本家の方でずばりカーソルがwindowを移動したっていうhookを作ってもらえれば万事解決なんだけどね
そんなのあるもんだと思ってたけど無いっぽい (知らないだけなのかね)
y-or-no-pはGUIのダイアログバージョンもあるけど、あんまりスマートなコーディングになってなかったな…
78名無しさん@お腹いっぱい。
2015/04/15(水) 00:21:35.11ID:nBsJeUAd0 自己完結。64bit版はlibgcc_s_dw2-1.dll使ってないのか。
2015/04/15(水) 00:28:04.69ID:E6JA3RzG0
えっ、どれが自己完結したんだ・・?
80名無しさん@お腹いっぱい。
2015/04/15(水) 19:52:45.07ID:0uxm8mAl02015/04/15(水) 20:48:18.43ID:E6JA3RzG0
2015/04/15(水) 23:13:15.51ID:Ht/LrBGW0
chuntaroさんの24.5を使わせてもらってるけど
24.5でもgrepで以下のワーニングがでる問題直ってないみたいね…
warning: GREP_OPTIONS is deprecated
まぁここに修正済みの grep.el が上がってるから置き換えれば済む話なんだけどさ
ttp://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/progmodes/grep.el?id=2e4c2fe2787785a421f256541de642976e9bd90b
24.5でもgrepで以下のワーニングがでる問題直ってないみたいね…
warning: GREP_OPTIONS is deprecated
まぁここに修正済みの grep.el が上がってるから置き換えれば済む話なんだけどさ
ttp://git.savannah.gnu.org/cgit/emacs.git/commit/lisp/progmodes/grep.el?id=2e4c2fe2787785a421f256541de642976e9bd90b
2015/04/15(水) 23:26:15.91ID:E6JA3RzG0
2015/04/16(木) 09:23:31.97ID:U5gvVt4D0
>>68
対応されたね。
対応されたね。
2015/04/16(木) 10:48:12.95ID:RvYFC8+a0
ありがてえありがてえ
32bit/64bitともにネィティブパッチ済みが安定配布されてるのは助かるね。
32bit/64bitともにネィティブパッチ済みが安定配布されてるのは助かるね。
2015/04/16(木) 12:59:18.03ID:U5gvVt4D0
gnupackは出ないね
2015/04/16(木) 13:06:06.65ID:Oh1kAPyh0
>>84のサイトのは-O3以降の最適化ビルドじゃなくて巨大なデバッグ情報も付いてる (exeが16MB→71MBになる…)
あとsvgとgnutlsはDLLは含まれてるけどconfigureの出力を見ると無効になってる
気になったんで一応書いておく
あとsvgとgnutlsはDLLは含まれてるけどconfigureの出力を見ると無効になってる
気になったんで一応書いておく
2015/04/17(金) 09:35:41.18ID:DM8ySD8W0
04.16版への差替えあったみたいだが、>>88 への言及まだなし
2015/04/17(金) 11:05:09.66ID:PA7JuVnR0
>>89
直接伝えたらいいんでないの…?
直接伝えたらいいんでないの…?
2015/04/17(金) 11:25:07.05ID:8SEnb17A0
少なくともgnutlsは動いてないな
2015/04/17(金) 11:43:28.69ID:1pa4/E7S0
あと前スレでも書いたけど、アップしたバイナリにはWindowsで設定されているPATHの全容と
ビルドした時のユーザー名とホスト名とそのPATHが含まれるから、余分なPATHは消して
ユーザー名とホスト名は適当なものに変更した方がいいんだよね
とりあえず -g3 -gdwarf-2 が余計なんで消した方がいい (exeが16MBぐらいになるはず)
ビルドした時のユーザー名とホスト名とそのPATHが含まれるから、余分なPATHは消して
ユーザー名とホスト名は適当なものに変更した方がいいんだよね
とりあえず -g3 -gdwarf-2 が余計なんで消した方がいい (exeが16MBぐらいになるはず)
2015/04/17(金) 16:19:59.51ID:7QnN5/LZ0
>>91
svgも不要?、という話だったような
svgも不要?、という話だったような
2015/04/17(金) 19:38:56.09ID:AM0+JV5e0
gnutlsが動かないとわざわざstunnel使わないとssl通信ができなくて不便
mewさんはstunnelしか使わない頭の固い頑固者だから関係ないけど
mewさんはstunnelしか使わない頭の固い頑固者だから関係ないけど
2015/04/17(金) 20:21:14.48ID:PA7JuVnR0
cygwin とかと一緒に動かしてるなら gnutls インストールしておけば
特に設定なしで gnutls-cli 経由で https 接続したり 993 ポートで gmail に繋いだりしてくれるよ。
特に設定なしで gnutls-cli 経由で https 接続したり 993 ポートで gmail に繋いだりしてくれるよ。
2015/04/17(金) 22:21:42.63ID:kL73LSPj0
2015/04/19(日) 14:12:56.90ID:DXu1Mk530
ビルド時のパスがバイナリに残る問題は emacs-bug で議論されてるなぁ。
パス以外にもなんかないか?とかやってるから次辺りのバージョンではそういうの残らなくなるかもしれんね。
パス以外にもなんかないか?とかやってるから次辺りのバージョンではそういうの残らなくなるかもしれんね。
9857
2015/04/19(日) 15:46:59.35ID:1KC2PQ+90 libgnutls-30.dllをちゃんと読み込めない問題は下記を見て
設定で使えるようにしたけどそれを解決した24.6がそろそろ出ないかな。
ttp://proglab.blog.fc2.com/blog-entry-14.html
設定で使えるようにしたけどそれを解決した24.6がそろそろ出ないかな。
ttp://proglab.blog.fc2.com/blog-entry-14.html
2015/04/23(木) 20:54:42.65ID:Z256nHLA0
No IME パッチってどこに落ちてるの?
IME のキー潰すだけのために keyhac 入れてるのもなんだし試してみたいんだけど
見つからない。
IME のキー潰すだけのために keyhac 入れてるのもなんだし試してみたいんだけど
見つからない。
2015/04/23(木) 21:17:18.23ID:RfDYEKRj0
>>99
W32-IMEを無効化ならconfigure時のoption指定だけだろ
W32-IMEを無効化ならconfigure時のoption指定だけだろ
2015/04/23(木) 21:32:23.80ID:Z256nHLA0
>>100
それってパッチの追加サポートを入れるかどうかのフラグでしょ。
半角/全角とかが IME に吸い取られるのを禁止したいのさ。
んで見つからないとかいってたけど普通に IME パッチ配布元に disable-w32-ime パッチ置いてあったわ。
これ追加して配布してるところはないんだなぁ。やっぱ自分でビルドするしかないのか。
それってパッチの追加サポートを入れるかどうかのフラグでしょ。
半角/全角とかが IME に吸い取られるのを禁止したいのさ。
んで見つからないとかいってたけど普通に IME パッチ配布元に disable-w32-ime パッチ置いてあったわ。
これ追加して配布してるところはないんだなぁ。やっぱ自分でビルドするしかないのか。
2015/05/02(土) 08:03:19.03ID:3ATXgoIh0
2015/05/03(日) 00:54:12.38ID:47jdb8qj0
emacs-24.5-shared-libgcc.zip (2015.04.16) 97,234,000byte を使わせて頂いてます。
いつもありがとうございます。
zipをC:\emacs-24.5\ に展開し、C:\emacs-24.5\bin\runemacs.exe のショートカットを
デスクトップに置き、プロパティーの作業フォルダを C:\emacs-24.5\bin からたとえば D:\Home
に変更して起動したら、M-x shell で
Process shell exited abnormally with code 53
が出てcmd.exeが実行できませんでした。作業フォルダを C:\emacs-24.5\bin のままにしておけば、
M-x shell でcmd.exeは起動できます。(だたしemacsを起動直後に参照しているディレクトリを変更するとやはりだめ)
emacs-24.5.zip (2015.04.11) 97,213,668byte では、この問題はおきていませんでした。
\bin のパスが参照できるような起動のされ方でないと、何かまずい制約が入っちゃったかもしれませんね。
(追加されたdllからみ??)
C:\emacs-24.5\binをPATHに追加しておけばいいのかもしれません(まだやってない)。
ご報告まで。
いつもありがとうございます。
zipをC:\emacs-24.5\ に展開し、C:\emacs-24.5\bin\runemacs.exe のショートカットを
デスクトップに置き、プロパティーの作業フォルダを C:\emacs-24.5\bin からたとえば D:\Home
に変更して起動したら、M-x shell で
Process shell exited abnormally with code 53
が出てcmd.exeが実行できませんでした。作業フォルダを C:\emacs-24.5\bin のままにしておけば、
M-x shell でcmd.exeは起動できます。(だたしemacsを起動直後に参照しているディレクトリを変更するとやはりだめ)
emacs-24.5.zip (2015.04.11) 97,213,668byte では、この問題はおきていませんでした。
\bin のパスが参照できるような起動のされ方でないと、何かまずい制約が入っちゃったかもしれませんね。
(追加されたdllからみ??)
C:\emacs-24.5\binをPATHに追加しておけばいいのかもしれません(まだやってない)。
ご報告まで。
104103
2015/05/03(日) 01:11:41.37ID:47jdb8qj0 >>103
emacs-24.5-shared-libgcc.zip (2015.04.16) 97,234,000byte でも、
(展開したディレクトリ)\binをPATHに追加したら、作業ディレクトリが\binでなくとも
M-x shell でcmd.exeが起動できました。
emacs-24.5-shared-libgcc.zip (2015.04.16) 97,234,000byte でも、
(展開したディレクトリ)\binをPATHに追加したら、作業ディレクトリが\binでなくとも
M-x shell でcmd.exeが起動できました。
2015/05/06(水) 03:36:15.44ID:uEZzm+120
NTemacs の仕様かわからないけど exec-path の1番目の要素の先頭が小文字になることに気付いた
別に動作的には問題ないのだけど add-to-list で追加するときに大文字と小文字が区別されて
パスがだぶる場合があって気持ち悪い
あと、個人の都合で exec-path の各要素の末尾の"/"は取り除きたい
ってことで以下のようにしてみた
(dotimes (i (length exec-path))
(setf (nth i exec-path) (replace-regexp-in-string "\\([a-z]\\):/" 'upcase (nth i exec-path)))
(setf (nth i exec-path) (replace-regexp-in-string "/\\'" "" (nth i exec-path))))
ただ"replace-regexp-in-string"を2回使ってるのがダサい
もっといいやり方があれば教えてください
別に動作的には問題ないのだけど add-to-list で追加するときに大文字と小文字が区別されて
パスがだぶる場合があって気持ち悪い
あと、個人の都合で exec-path の各要素の末尾の"/"は取り除きたい
ってことで以下のようにしてみた
(dotimes (i (length exec-path))
(setf (nth i exec-path) (replace-regexp-in-string "\\([a-z]\\):/" 'upcase (nth i exec-path)))
(setf (nth i exec-path) (replace-regexp-in-string "/\\'" "" (nth i exec-path))))
ただ"replace-regexp-in-string"を2回使ってるのがダサい
もっといいやり方があれば教えてください
2015/05/06(水) 09:31:13.17ID:4C94YyID0
file-truename も directory-file-name も先頭を小文字にする仕様みたいだから
どうせ揃えるなら小文字に揃えたほうがシンプルになるんじゃないかな?
add-to-list するときに追加する要素に対しても directory-file-name してやればいいわけだし。
;; 先頭小文字/最後のスラッシュはなしのケース
(setq exec-path (mapcar #'directory-file-name exec-path))
;; 先頭大文字/最後のスラッシュはなしのケース
(setq exec-path (mapcar (lambda (p)
(setq p (directory-file-name p))
(aset p 0 (upcase (aref p 0)))
p
)
exec-path))
どうせ揃えるなら小文字に揃えたほうがシンプルになるんじゃないかな?
add-to-list するときに追加する要素に対しても directory-file-name してやればいいわけだし。
;; 先頭小文字/最後のスラッシュはなしのケース
(setq exec-path (mapcar #'directory-file-name exec-path))
;; 先頭大文字/最後のスラッシュはなしのケース
(setq exec-path (mapcar (lambda (p)
(setq p (directory-file-name p))
(aset p 0 (upcase (aref p 0)))
p
)
exec-path))
107>>105
2015/05/06(水) 14:47:54.15ID:uEZzm+120 >>106 ありがとう。期待通りの動作になりました
"directory-file-name"なんて知らなかったよ。emacs 標準で実装されてるのね
「先頭小文字」かつ「末尾の"/"なし」を一発で実現してくれるとは…
あと "#'"ってラムダ式作る以外に
"function-object"であることをコンパイラに伝える役目もあるのね
今まで"quote"ですませてきてたから目からウロコでした
"directory-file-name"なんて知らなかったよ。emacs 標準で実装されてるのね
「先頭小文字」かつ「末尾の"/"なし」を一発で実現してくれるとは…
あと "#'"ってラムダ式作る以外に
"function-object"であることをコンパイラに伝える役目もあるのね
今まで"quote"ですませてきてたから目からウロコでした
108>>105
2015/05/06(水) 14:50:59.99ID:uEZzm+120 > "#'"ってラムダ式作る以外に ×
"#'"って関数名をクォートするときに ○
だな…恥ずかしい
"#'"って関数名をクォートするときに ○
だな…恥ずかしい
2015/05/06(水) 16:08:53.22ID:aS345Gfx0
2015/05/17(日) 09:37:02.76ID:EQG0VP2V0
週末、Cygwin版Emacs(gnupack-13.01)への移行をしてみた。
Cygwin版Emacsは、cygwinで作ったwindowsシートカットをシンボリックリンク
のように扱えるのがいいね。MingGW版Emacsではw32-symlinksやNTFSシンボリック
を使う必要があったけど、それが必要ないのが便利。
https://cygwin.com/cygwin-ug-net/using-cygwinenv.html
if set to just winsymlinks or winsymlinks:lnk, Cygwin creates symlinks
as Windows shortcuts with a special header and the R/O attribute set.
Cygwin版Emacsは、cygwinで作ったwindowsシートカットをシンボリックリンク
のように扱えるのがいいね。MingGW版Emacsではw32-symlinksやNTFSシンボリック
を使う必要があったけど、それが必要ないのが便利。
https://cygwin.com/cygwin-ug-net/using-cygwinenv.html
if set to just winsymlinks or winsymlinks:lnk, Cygwin creates symlinks
as Windows shortcuts with a special header and the R/O attribute set.
2015/05/17(日) 10:02:43.03ID:9S9K1d5t0
あのわけわからん遅ささえなきゃなぁ。
fakecygpty 経由したほうが速いとかどうかしてる。
fakecygpty 経由したほうが速いとかどうかしてる。
2015/05/17(日) 10:04:20.78ID:EQG0VP2V0
ansi-termとかは遅くて使えないね。自分はshell-modeをメインで使っている
ので、問題なさそう。
ので、問題なさそう。
2015/05/17(日) 10:07:40.39ID:EQG0VP2V0
Cygwin版Emacsでもう一ついいことを見つけた。cygwinで作ったwindowsショートカット
やNTFSシンボリックの中に入っても、シンボリックのパスが維持される。
これはCygwinの機能なんだろうけど、MinGW版Emacsではそうはならないので便利だなぁ。
やNTFSシンボリックの中に入っても、シンボリックのパスが維持される。
これはCygwinの機能なんだろうけど、MinGW版Emacsではそうはならないので便利だなぁ。
2015/05/30(土) 15:56:31.02ID:Dn2TAgbo0
Emacs24.5をCygwinでビルドしたが、xml2でコンパイルしてないとかのエラーでewwが使えない。
libxml2-devは入ってる。でもconfigureでxml2がnoと判定される。
誰か助けて。
libxml2-devは入ってる。でもconfigureでxml2がnoと判定される。
誰か助けて。
2015/05/30(土) 16:27:42.67ID:fo8HIJKy0
pkg-configいれてないとか
2015/05/30(土) 17:50:30.91ID:Dn2TAgbo0
2015/06/02(火) 02:12:13.32ID:wf9VDqVY0
日本語入力中のフォントにMactype効かないんだけど、綺麗なフォントを標準させる方法ない?
2015/06/15(月) 10:49:32.51ID:ypQO6dq60
unix板からこちらに聞いた方がいいといわれたので、
ここで質問いたします。
gnupack で入れたemacsで emacs-clang-complete-async を導入したいんですが
emacs-clang-complete-asyncのmakeができません。llvm系は自前で最新版をビルド
してパスも通っているつもりです。
make時のエラーは、
/usr/local/lib/libclang.a(CIndex.o):Cindex.cpp〜(関数名)に対する定義されていない参照です
というのが、大量に出ます。
環境は
win7 64bit
GNU Emacs24.5.1
です。
同じエラーを解決された方や、こうすればいいんでないの?という方がいれば
教えてください。
ここで質問いたします。
gnupack で入れたemacsで emacs-clang-complete-async を導入したいんですが
emacs-clang-complete-asyncのmakeができません。llvm系は自前で最新版をビルド
してパスも通っているつもりです。
make時のエラーは、
/usr/local/lib/libclang.a(CIndex.o):Cindex.cpp〜(関数名)に対する定義されていない参照です
というのが、大量に出ます。
環境は
win7 64bit
GNU Emacs24.5.1
です。
同じエラーを解決された方や、こうすればいいんでないの?という方がいれば
教えてください。
2015/06/21(日) 22:59:47.64ID:oMn8fplm0
2015/06/22(月) 03:45:18.32ID:I0UPbCEi0
fakecygpty.c に NOT in MinGW32! ってあるけど
msys gcc ならいけるんじゃないかと思ってコンパイルしてみた
結果、コンパイルできたが、 M-x shell で以下のエラーがでてうまくいかない
Process shell exited abnormally with code 139
ただ、tramp でサーバーに ssh 接続するのは可能
ちゃんとミニバッファにパスワードを入力できる
msys gcc ならいけるんじゃないかと思ってコンパイルしてみた
結果、コンパイルできたが、 M-x shell で以下のエラーがでてうまくいかない
Process shell exited abnormally with code 139
ただ、tramp でサーバーに ssh 接続するのは可能
ちゃんとミニバッファにパスワードを入力できる
2015/06/22(月) 07:42:07.21ID:9r4PmZAp0
msys の方はそもそも pty を持ってないから fakecygpty コンパイル出来ても意味ないはずだが。
tramp の方のはよくわからないけど ssh-askpass が動いてるとかじゃないの?
tramp の方のはよくわからないけど ssh-askpass が動いてるとかじゃないの?
122>>120
2015/06/22(月) 13:58:06.96ID:l0qxGhXV0 >>121 レスthx
> msys の方はそもそも pty を持ってない
そうなのか…
cygwin だと"cygwin1.dll"が POSIX 互換エミュレーション層を実現してる
それをフォークした"msys-2.0.dll"で msys2 は POSIX をサポートしてる
って認識で、"msys-2.0.dll"をリンクしてやれば
うまくいくと思ったんだけど、やっぱりダメかなぁ…
msys2 の mintty で tty コマンドを打つと
/dev/pty0
ってなるけど、これは msys 側でなくて mintty 側で
pty をサポートしてるってこと?
> msys の方はそもそも pty を持ってない
そうなのか…
cygwin だと"cygwin1.dll"が POSIX 互換エミュレーション層を実現してる
それをフォークした"msys-2.0.dll"で msys2 は POSIX をサポートしてる
って認識で、"msys-2.0.dll"をリンクしてやれば
うまくいくと思ったんだけど、やっぱりダメかなぁ…
msys2 の mintty で tty コマンドを打つと
/dev/pty0
ってなるけど、これは msys 側でなくて mintty 側で
pty をサポートしてるってこと?
2015/06/26(金) 07:37:35.97ID:S4uTtmrI0
Cygwin版 emacs向けに以下の設定を考えました。
dired でディレクトリのシンボリックリンクを実体のパスで開くための設定
http://www49.atwiki.jp/ntemacs/pages/54.html
便利な設定ですので、よければ使ってください。
dired でディレクトリのシンボリックリンクを実体のパスで開くための設定
http://www49.atwiki.jp/ntemacs/pages/54.html
便利な設定ですので、よければ使ってください。
2015/07/06(月) 22:54:04.62ID:RQ16gZ7/0
>>118
>emacs-clang-complete-asyncのmakeができません。llvm系は自前で最新版をビルド
最新版てtrunkのこと?
だとしたら取得タイミングによってはビルド通らないことあるのでは?
fixされたReleaseの最新版(いまだと3.6.1?)なら通るはず。
あと、cygwin付属のsvnで取得するとビルドが通らないケースがあった。
まずは、llvmをビルドしたディレクトリ(Release/binとRelease/lib)にlibclang.aやlibclang.dll, libclang.soなどがあるかを確認する。
cygwinだとcygclang.dllかな?
出来ていないのであればビルドが失敗してるので、ビルドログあさってみるしかないですね。
昔自分がハマったのは
llvmのmakefileまたはslnファイルを生成するときに
cmakeがsvnを呼び出してリビジョンナンバーのヘッダファイルを生成するのだが、
cygwinのパス処理がらみでうまく動作せずヘッダが生成されないので、結果としてビルドエラーになっていたというケース。
なので、svnチェックアウト,cmakeによるプロジェクト生成は、
cygwinではなくコマンドプロンプトにて、tortoisesvnとcmakeオフィシャルのバイナリで行いました。
>emacs-clang-complete-asyncのmakeができません。llvm系は自前で最新版をビルド
最新版てtrunkのこと?
だとしたら取得タイミングによってはビルド通らないことあるのでは?
fixされたReleaseの最新版(いまだと3.6.1?)なら通るはず。
あと、cygwin付属のsvnで取得するとビルドが通らないケースがあった。
まずは、llvmをビルドしたディレクトリ(Release/binとRelease/lib)にlibclang.aやlibclang.dll, libclang.soなどがあるかを確認する。
cygwinだとcygclang.dllかな?
出来ていないのであればビルドが失敗してるので、ビルドログあさってみるしかないですね。
昔自分がハマったのは
llvmのmakefileまたはslnファイルを生成するときに
cmakeがsvnを呼び出してリビジョンナンバーのヘッダファイルを生成するのだが、
cygwinのパス処理がらみでうまく動作せずヘッダが生成されないので、結果としてビルドエラーになっていたというケース。
なので、svnチェックアウト,cmakeによるプロジェクト生成は、
cygwinではなくコマンドプロンプトにて、tortoisesvnとcmakeオフィシャルのバイナリで行いました。
125>>120
2015/07/10(金) 18:01:03.11ID:KX/0sk9b0 >>122
自己解決。emacs の設定ミスってるだけだったorz...
msys2の環境であっさり fakecygpty 使えました。
msys/gcc をインストール済みの msys2 の環境において、msys2_shell.bat を起動して
> gcc -o fakecygpty.exe fakecygpty.c
を実行。コンパイルした fakecygpty.exe を
/usr/local/bin
とかに移動。後は wiki の fakecygpty を使うための設定 とかの設定をすればOK。
M-x shell して tty コマンド打つとちゃんと
/dev/pty1
を返します。これで cygwin から msys2 に乗り換えられるかな
自己解決。emacs の設定ミスってるだけだったorz...
msys2の環境であっさり fakecygpty 使えました。
msys/gcc をインストール済みの msys2 の環境において、msys2_shell.bat を起動して
> gcc -o fakecygpty.exe fakecygpty.c
を実行。コンパイルした fakecygpty.exe を
/usr/local/bin
とかに移動。後は wiki の fakecygpty を使うための設定 とかの設定をすればOK。
M-x shell して tty コマンド打つとちゃんと
/dev/pty1
を返します。これで cygwin から msys2 に乗り換えられるかな
2015/07/25(土) 16:21:44.11ID:5OkOVd1q0
以下のメールでfakecygptyの作者さんも言ってるけど、
ttp://www.ysnb.net/meadow/meadow-develop/2005/msg00367.html
fakecygpty を経由するプロセスが
compilation-disable-input を non-nil にセットすると正常動作しなくなるみたいね
そのせいで grep とか ggtags、twittering-mode 等が動かなくて数日悩んでしまった
自分の環境では pty が必要な場面は低いんで、
wiki の設定を一部改編して、現状のブラックリスト方式ではなく、
ホワイトリスト方式で fakecygpty を経由するか判断させることにした
また、バッファの名称の判断に正規表現を使うことにした
ついでに 24.4 で導入された新アドバイスに書き直してみた
ttp://www.ysnb.net/meadow/meadow-develop/2005/msg00367.html
fakecygpty を経由するプロセスが
compilation-disable-input を non-nil にセットすると正常動作しなくなるみたいね
そのせいで grep とか ggtags、twittering-mode 等が動かなくて数日悩んでしまった
自分の環境では pty が必要な場面は低いんで、
wiki の設定を一部改編して、現状のブラックリスト方式ではなく、
ホワイトリスト方式で fakecygpty を経由するか判断させることにした
また、バッファの名称の判断に正規表現を使うことにした
ついでに 24.4 で導入された新アドバイスに書き直してみた
127>>126
2015/07/25(土) 16:23:49.67ID:5OkOVd1q0 こんな感じ
(defvar fakecygpty-program-list)
(setq fakecygpty-program-list '(""))
(defvar fakecygpty-buffer-name-regexp)
(setq fakecygpty-buffer-name-regexp "^\\(*shell\\|*tramp\\)")
(defun ad-start-process-to-fake (orig-fun &rest args)
(when (and (or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (nth 2 args)))
fakecygpty-program-list))
(string-match fakecygpty-buffer-name-regexp
(if (bufferp (nth 1 args))
(buffer-name (nth 1 args))
(nth 1 args))))
(setcdr (nthcdr 2 args) (cons (nth 2 args) (nthcdr 3 args)))
(setcar (nthcdr 2 args) "fakecygpty")
(message "start process via fakecygpty"))
(apply orig-fun args))
(advice-add 'start-process :around #'ad-start-process-to-fake '((depth . -100)))
(defvar fakecygpty-program-list)
(setq fakecygpty-program-list '(""))
(defvar fakecygpty-buffer-name-regexp)
(setq fakecygpty-buffer-name-regexp "^\\(*shell\\|*tramp\\)")
(defun ad-start-process-to-fake (orig-fun &rest args)
(when (and (or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (nth 2 args)))
fakecygpty-program-list))
(string-match fakecygpty-buffer-name-regexp
(if (bufferp (nth 1 args))
(buffer-name (nth 1 args))
(nth 1 args))))
(setcdr (nthcdr 2 args) (cons (nth 2 args) (nthcdr 3 args)))
(setcar (nthcdr 2 args) "fakecygpty")
(message "start process via fakecygpty"))
(apply orig-fun args))
(advice-add 'start-process :around #'ad-start-process-to-fake '((depth . -100)))
2015/07/25(土) 18:02:48.66ID:IrMQAipT0
defadviceのままだけど、排他バッファリストの代わりにcompilation-disable-inputの判定いれるのではだめですかね?
(setq fakecygpty-program-list '(""))
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list))
(not compilation-disable-input))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(setq fakecygpty-program-list '(""))
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list))
(not compilation-disable-input))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
129>>126
2015/07/25(土) 18:50:49.98ID:5OkOVd1q0 >>128
今、試してみたところ
compilation-disable-input が non-nil の問題は
compilation-disable-inputの判定を入れればいいみたいです
ただ、gdb とか twittering-mode とかはこれとは別問題みたいで
fakecygpty を経由させるとうまく動かないです
今、試してみたところ
compilation-disable-input が non-nil の問題は
compilation-disable-inputの判定を入れればいいみたいです
ただ、gdb とか twittering-mode とかはこれとは別問題みたいで
fakecygpty を経由させるとうまく動かないです
2015/07/25(土) 20:26:20.36ID:IrMQAipT0
>>129
やっぱりバッファ名での判定は無くすことできないのかな。
やっぱりバッファ名での判定は無くすことできないのかな。
2015/07/25(土) 21:13:18.13ID:IkFApNlK0
process-send-string を C-d が送られるように書き換えるだけで動くようにならない?
自分ところはそれでうまく動くようになってる。
ほんとはもっと細かくかいてるけど大まかには以下みたいなかんじで。
(defadvice process-send-eof (around real-c-d activate)
(process-send-string (ad-get-arg 0) (kbd "C-d")))
あと fakecygpty はおっきいところで二箇所ほどバグがあって、過去にこのスレで対処法が出たぶんは
以下にパッチがあたってるのが置いてあるから使ってみるといいんじゃないかな。
https://github.com/trueroad/fakecygpty
pty の初期化が古い meadow 仕様だったのを emacs 仕様に書き換えて 出力 CRCRLF になっちゃうのを対処したのと、
子プロセスの戻り値をちゃんと処理してないせいでいつでも正常終了になっちゃうのを対処してるバージョンね。
自分ところはそれでうまく動くようになってる。
ほんとはもっと細かくかいてるけど大まかには以下みたいなかんじで。
(defadvice process-send-eof (around real-c-d activate)
(process-send-string (ad-get-arg 0) (kbd "C-d")))
あと fakecygpty はおっきいところで二箇所ほどバグがあって、過去にこのスレで対処法が出たぶんは
以下にパッチがあたってるのが置いてあるから使ってみるといいんじゃないかな。
https://github.com/trueroad/fakecygpty
pty の初期化が古い meadow 仕様だったのを emacs 仕様に書き換えて 出力 CRCRLF になっちゃうのを対処したのと、
子プロセスの戻り値をちゃんと処理してないせいでいつでも正常終了になっちゃうのを対処してるバージョンね。
132>>126
2015/07/26(日) 00:07:15.39ID:PVnmMw3N0 >>131 の方法で twittering-mode は動きました。
ただ、gdb の方は動かなかったので、Backtrace を見たところ、原因が分かりました。
gdb を起動すると、start-process で gdb 本体のプロセスと gdb-inferior のプロセス2つが作られるのですが、
その際、gdb-inferior のプロセスは
(start-process "gdb-inferior" #<buffer limbo> nil nil) のように
起動プログラムが nil で作られます。
そのため、この状態で wiki のアドバイスを適用すると
(start-process "gdb-inferior" #<buffer limbo> "fakecygpty" nil)
つまり fakecygpty 単独での実行となりエラーとなるということでした。
ただ、gdb の方は動かなかったので、Backtrace を見たところ、原因が分かりました。
gdb を起動すると、start-process で gdb 本体のプロセスと gdb-inferior のプロセス2つが作られるのですが、
その際、gdb-inferior のプロセスは
(start-process "gdb-inferior" #<buffer limbo> nil nil) のように
起動プログラムが nil で作られます。
そのため、この状態で wiki のアドバイスを適用すると
(start-process "gdb-inferior" #<buffer limbo> "fakecygpty" nil)
つまり fakecygpty 単独での実行となりエラーとなるということでした。
133>>126
2015/07/26(日) 00:13:27.06ID:PVnmMw3N0 最終的にこんな感じの設定になりました
;; 新アドバイス版
(defun ad-start-process-to-fake (orig-fun &rest args)
(when (and (nth 2 args)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (nth 2 args)))
fakecygpty-program-list))
(not compilation-disable-input))
(setcdr (nthcdr 2 args) (cons (nth 2 args) (nthcdr 3 args)))
(setcar (nthcdr 2 args) "fakecygpty"))
(apply orig-fun args))
(advice-add 'start-process :around #'ad-start-process-to-fake '((depth . -100)))
;; 旧アドバイス版
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list))
(not compilation-disable-input))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
;; 新アドバイス版
(defun ad-start-process-to-fake (orig-fun &rest args)
(when (and (nth 2 args)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (nth 2 args)))
fakecygpty-program-list))
(not compilation-disable-input))
(setcdr (nthcdr 2 args) (cons (nth 2 args) (nthcdr 3 args)))
(setcar (nthcdr 2 args) "fakecygpty"))
(apply orig-fun args))
(advice-add 'start-process :around #'ad-start-process-to-fake '((depth . -100)))
;; 旧アドバイス版
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list))
(not compilation-disable-input))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
2015/07/26(日) 01:10:50.40ID:NtQg+S5k0
>>132
gdb は子プロセスの入出力用に pty がもう一つ必要になるんだけど、emacs では実行ファイルを nil にすることで pty 単体を確保できる。ここらへんは次あたりの emacs のバージョンで変わりそうだけど。
んで fakecygpty は pty のみの確保に対応していないから本体に手を入れないといけない。
https://github.com/d5884/fakecygpty
↑で一応対応してはいるんだけど、さっき試したら行頭での C-d が動かなくなってる感じ。cygwin のバージョン上がったからかなぁ。
gdb は子プロセスの入出力用に pty がもう一つ必要になるんだけど、emacs では実行ファイルを nil にすることで pty 単体を確保できる。ここらへんは次あたりの emacs のバージョンで変わりそうだけど。
んで fakecygpty は pty のみの確保に対応していないから本体に手を入れないといけない。
https://github.com/d5884/fakecygpty
↑で一応対応してはいるんだけど、さっき試したら行頭での C-d が動かなくなってる感じ。cygwin のバージョン上がったからかなぁ。
2015/07/26(日) 01:57:48.79ID:GoqLMzMk0
>>132
twittering-modeはどの辺が動かなかったか教えてくれる?
twittering-modeはどの辺が動かなかったか教えてくれる?
136>>126
2015/07/26(日) 02:08:38.52ID:PVnmMw3N0 >>134 のおかげで、今回の問題の本質が理解できました、ありがとう。
端末I/Oについて知識が皆無なんで、
fakecygpty 本体に手を入れるのはきつそうだなー…
ttps://github.com/d5884/fakecygpty 試してみましたが、
自分の環境では、プロセスが終了しなかったりでうまく動きませんでした。
端末I/Oについて知識が皆無なんで、
fakecygpty 本体に手を入れるのはきつそうだなー…
ttps://github.com/d5884/fakecygpty 試してみましたが、
自分の環境では、プロセスが終了しなかったりでうまく動きませんでした。
2015/07/26(日) 02:24:40.85ID:GoqLMzMk0
>>131の話を踏まえると以下の方法でgrep問題なども回避できるんだけど、
>>133の方法とどちらがいいんだろう。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defadvice process-send-eof (around ad-process-send-eof activate)
(if (and (ad-get-arg 0)
(string= (car (process-command (ad-get-arg 0))) "fakecygpty"))
(process-send-string (ad-get-arg 0) (kbd "C-d"))
ad-do-it))
>>133の方法とどちらがいいんだろう。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defadvice process-send-eof (around ad-process-send-eof activate)
(if (and (ad-get-arg 0)
(string= (car (process-command (ad-get-arg 0))) "fakecygpty"))
(process-send-string (ad-get-arg 0) (kbd "C-d"))
ad-do-it))
138>>126
2015/07/26(日) 02:54:58.15ID:PVnmMw3N0 >>135
Backtrace が出力されないので詳細はソースを見ないとわかりませんが、
以前使っていたfakecygpty(ttps://github.com/Shougo/fakecygpty)だと、
パスワードを入力して、
"the authorized token is loaded" とエコーされたのち、
"Authorization for the account "アカウント名" failed due to "nil"."
となって twittering-mode が終了してしまいます
>>132 が紹介してくれた fakecygpty(https://github.com/d5884/fakecygpty)だとうまく動きます。
Backtrace が出力されないので詳細はソースを見ないとわかりませんが、
以前使っていたfakecygpty(ttps://github.com/Shougo/fakecygpty)だと、
パスワードを入力して、
"the authorized token is loaded" とエコーされたのち、
"Authorization for the account "アカウント名" failed due to "nil"."
となって twittering-mode が終了してしまいます
>>132 が紹介してくれた fakecygpty(https://github.com/d5884/fakecygpty)だとうまく動きます。
2015/07/26(日) 03:01:46.57ID:GoqLMzMk0
140>>126
2015/07/26(日) 03:13:39.82ID:PVnmMw3N02015/07/26(日) 03:26:44.89ID:GoqLMzMk0
142>>126
2015/07/26(日) 03:55:10.82ID:PVnmMw3N0 >>141
>>128 の方でしたか。ありがとうございます。
compilation-disable-input の判定で問題ないと思いますが、
process-connection-type の判定で pty を要求されるならば
やはり fakecygpty を経由させ方が好ましいですかね、
リファレンスにも書かれてますし…
問題だった compilation-disable-input の non-nil にセットするプロセスも
>>131 の方法なら fakecygpty を経由しても大丈夫なので、
fakecygpty が pty のみの確保に対応するまでは >>137 の方法でいいと思います。
>>128 の方でしたか。ありがとうございます。
compilation-disable-input の判定で問題ないと思いますが、
process-connection-type の判定で pty を要求されるならば
やはり fakecygpty を経由させ方が好ましいですかね、
リファレンスにも書かれてますし…
問題だった compilation-disable-input の non-nil にセットするプロセスも
>>131 の方法なら fakecygpty を経由しても大丈夫なので、
fakecygpty が pty のみの確保に対応するまでは >>137 の方法でいいと思います。
2015/07/26(日) 05:04:04.90ID:GoqLMzMk0
こんな感じではどうだろう? これで、shell-modeの利用に必要なsignalのアドバイスも
必要なくなる。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defmacro fakecygpty-set-signal (function send-key)
`(defadvice ,function (around ,(intern (format "ad-%s" function)) activate)
(let ((process (or (ad-get-arg 0)
(get-buffer-process (current-buffer)))))
(if (string= (car (process-command process)) "fakecygpty")
(process-send-string (ad-get-arg 0) (kbd ,send-key))
ad-do-it))))
(fakecygpty-set-signal interrupt-process "C-c")
(fakecygpty-set-signal stop-process "C-z")
(fakecygpty-set-signal quit-process "C-\\")
(fakecygpty-set-signal process-send-eof "C-d")
必要なくなる。
(defadvice start-process (around ad-start-process-to-fake last activate)
(when (and (ad-get-arg 2)
(or process-connection-type
(member (replace-regexp-in-string "\\.exe$" "" (file-name-nondirectory (ad-get-arg 2)))
fakecygpty-program-list)))
(ad-set-args 3 (cons (ad-get-arg 2) (ad-get-args 3)))
(ad-set-arg 2 "fakecygpty"))
ad-do-it)
(defmacro fakecygpty-set-signal (function send-key)
`(defadvice ,function (around ,(intern (format "ad-%s" function)) activate)
(let ((process (or (ad-get-arg 0)
(get-buffer-process (current-buffer)))))
(if (string= (car (process-command process)) "fakecygpty")
(process-send-string (ad-get-arg 0) (kbd ,send-key))
ad-do-it))))
(fakecygpty-set-signal interrupt-process "C-c")
(fakecygpty-set-signal stop-process "C-z")
(fakecygpty-set-signal quit-process "C-\\")
(fakecygpty-set-signal process-send-eof "C-d")
2015/07/26(日) 08:28:27.90ID:NtQg+S5k0
>>136
msys2 環境での使用は全然試したこと無いんで色々問題があるのかも。
>>132 のは WINCH シグナルを送るときにウィンドウサイズもセットで送る必要があったんで
専用の kill プログラムを用意していて、その中で cygwin 固有の関数呼んでるんだけど
msys2 環境でもコンパイルうまくいくのかな?
gdb は子プロセスに pty を接続する際に process-tty-name を使ってるから
そっちにも advice を入れる必要があったはず。
あとは cygwin 版 gdb の signal 絡みが linux 版と違って windows 用にカスタマイズされてる関係か
いまいちそこら辺が linux 環境と同じ使用感にならなかった記憶があるよ。
msys2 環境での使用は全然試したこと無いんで色々問題があるのかも。
>>132 のは WINCH シグナルを送るときにウィンドウサイズもセットで送る必要があったんで
専用の kill プログラムを用意していて、その中で cygwin 固有の関数呼んでるんだけど
msys2 環境でもコンパイルうまくいくのかな?
gdb は子プロセスに pty を接続する際に process-tty-name を使ってるから
そっちにも advice を入れる必要があったはず。
あとは cygwin 版 gdb の signal 絡みが linux 版と違って windows 用にカスタマイズされてる関係か
いまいちそこら辺が linux 環境と同じ使用感にならなかった記憶があるよ。
2015/07/26(日) 21:43:15.94ID:PVnmMw3N0
>>136
以下の msys2 本家のサイトによると、
http://sourceforge.net/p/msys2/wiki/How%20does%20MSYS2%20differ%20from%20Cygwin/
msys2 は cygwin 固有の関数を含む cygwin1.dll の trunk バージョンを
msys-2.0.dll としてフォークしてるみたいなので
cygwin 固有の関数 が含まれていても msys2 環境でコンパイル可能です
ただ、以下のメールでのやり取りからすると
http://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/
Red hat の cygwin 開発者ともめたみたいで、
それを回避するために(他にも理由はあると思いますが)、以下のように多少手を加えてるみたいです。
1. 実行する際にコマンドライン引数と環境変数のパスを Windows 形式に自動変換する
2. OSNAME の値を環境変数 MSYSTEM の値に設定する
3. ネイティブな Windows アプリケーションの出力の行末コード(CR+LF)を UNIX 形式(LF)に変換
4. symlinks の挙動を リンクではなくコピーに
5. 旧 msys との互換性維持のため、 pwd への "-W" オプションの追加
6. /cygdrive プレフィックスの削除 (e.g C:\ | /cygdrive/c/ -> /c/)
7. MSYS2提供のユーザーランドソフトウェアに対する互換性と相互運用性維持のための変更
8. msys2 での権限操作を抑制するため、マウントオプションを noacl に
9. cygwin の trunk バージョンをベースとした msys2 のリリース
以下の msys2 本家のサイトによると、
http://sourceforge.net/p/msys2/wiki/How%20does%20MSYS2%20differ%20from%20Cygwin/
msys2 は cygwin 固有の関数を含む cygwin1.dll の trunk バージョンを
msys-2.0.dll としてフォークしてるみたいなので
cygwin 固有の関数 が含まれていても msys2 環境でコンパイル可能です
ただ、以下のメールでのやり取りからすると
http://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/
Red hat の cygwin 開発者ともめたみたいで、
それを回避するために(他にも理由はあると思いますが)、以下のように多少手を加えてるみたいです。
1. 実行する際にコマンドライン引数と環境変数のパスを Windows 形式に自動変換する
2. OSNAME の値を環境変数 MSYSTEM の値に設定する
3. ネイティブな Windows アプリケーションの出力の行末コード(CR+LF)を UNIX 形式(LF)に変換
4. symlinks の挙動を リンクではなくコピーに
5. 旧 msys との互換性維持のため、 pwd への "-W" オプションの追加
6. /cygdrive プレフィックスの削除 (e.g C:\ | /cygdrive/c/ -> /c/)
7. MSYS2提供のユーザーランドソフトウェアに対する互換性と相互運用性維持のための変更
8. msys2 での権限操作を抑制するため、マウントオプションを noacl に
9. cygwin の trunk バージョンをベースとした msys2 のリリース
2015/08/11(火) 14:32:49.49ID:bYjHud0I0
face の変更方法って色々あるけど、どれが一番高速なんだろう?
代表的なのは custom-set-faces set-face-attribute
あとは OS の機能を使う方法( Win ならレジストリ, Linux なら .Xresources )
今は、なんとなくレジストリいじる方法で face 変えてるけど
代表的なのは custom-set-faces set-face-attribute
あとは OS の機能を使う方法( Win ならレジストリ, Linux なら .Xresources )
今は、なんとなくレジストリいじる方法で face 変えてるけど
2015/08/12(水) 10:56:11.22ID:8NfCUjoG0
ウィンドウサイズとかもそうだけどレジストリとか.Xresoucesの場合
ウィンドウが表示される前に適用されるから起動時に一瞬違うサイズのが表示されるってのがなくなるのが好き。
ただフォント絡みは一部の文字だけ置き換えなんかした場合のリソースでの記法がよくわからなくて二の足踏んでる。
ウィンドウが表示される前に適用されるから起動時に一瞬違うサイズのが表示されるってのがなくなるのが好き。
ただフォント絡みは一部の文字だけ置き換えなんかした場合のリソースでの記法がよくわからなくて二の足踏んでる。
148sage
2015/08/17(月) 07:35:11.12ID:NCnTVCkt0 どちらかと言うと windowsの質問ですが、先日 win7→10にしました。
ntemacs64(chuntaroさんの)は問題なく動くのですが、スタートメニューにはピン止めしかできません。
これだとプロパティでの作業フォルダが設定できないです。
環境変数 HOMEを設定する事で init.elは読み込む様になりましたが、emacs起動直後の C-x dでは emacs/bin
になっちゃいます(まぁ、~/ を入力すれば良い訳ですが・・・)
みなさんこの辺りどうしてます? 作業フォルダが emacs/binのままで支障はないですか?
# いままでずっと ~/ を作業フォルダに指定して使って来てるので・・・
以上、ご教示頂けると幸いです。
ntemacs64(chuntaroさんの)は問題なく動くのですが、スタートメニューにはピン止めしかできません。
これだとプロパティでの作業フォルダが設定できないです。
環境変数 HOMEを設定する事で init.elは読み込む様になりましたが、emacs起動直後の C-x dでは emacs/bin
になっちゃいます(まぁ、~/ を入力すれば良い訳ですが・・・)
みなさんこの辺りどうしてます? 作業フォルダが emacs/binのままで支障はないですか?
# いままでずっと ~/ を作業フォルダに指定して使って来てるので・・・
以上、ご教示頂けると幸いです。
2015/08/17(月) 08:13:25.44ID:IM7ynGeV0
自分は昔から (cd "~") を init.el の最後にいれてます。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 急に真冬かよ!!!⛄❄✨
- 地球から無限km先の場所ってどうなっているの?
- お前らインターネット大規模障害起きてたとき何してた
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 日本、高市のお陰で破滅に近づくwwwwwwww
