Emacs part 18
■ このスレッドは過去ログ倉庫に格納されています
0001フンバリャーウンコ・ヨーデル ◆xlAOIq6jZw
2006/03/02(木) 23:19:32GNU Emacs - GNU Project - Free Software Foundation (FSF)
http://www.gnu.org/software/emacs/
emacs - SCM: CVS Repositories [Savannah]
http://savannah.gnu.org/cvs/?group=emacs
EmacsWiki
http://www.emacswiki.org/
Emacs 電子書棚
http://www.bookshelf.jp/
0429名無しさん@お腹いっぱい。
2006/04/04(火) 15:58:25なるほど。あと文字列・配列・リスト関数のprimitiveを強化してくれると相当速くなりそう。
0430名無しさん@お腹いっぱい。
2006/04/04(火) 21:54:31だれか、リージョン比較(tool > compare > regions)の使い方詳しく教えてくれ・・・・
0431名無しさん@お腹いっぱい。
2006/04/05(水) 00:13:040432名無しさん@お腹いっぱい。
2006/04/05(水) 01:49:11そんなにIRCをやってるわけじゃないんで比較出来ない。。。
あと、いざというときに役立つeshellのtips。
etagsはEmacsに標準でついてくるけどディレクトリを再帰的に
たどる機能がない。
普通はfindを使うんだろうけど、cygwinとか入れてないと使えない。
そんな時は、eshellを起動して以下を打ち込む。
$ ls -1 hoge/**/*.[ch] | etags -
で、eshellがhoge以下を再帰的にたどったリストを作ってetagsに渡してくれる。
0433名無しさん@お腹いっぱい。
2006/04/05(水) 01:58:200434名無しさん@お腹いっぱい。
2006/04/05(水) 02:10:230435名無しさん@お腹いっぱい。
2006/04/05(水) 03:59:10餅は餅屋だろうが
0436名無しさん@お腹いっぱい。
2006/04/05(水) 05:55:190437名無しさん@お腹いっぱい。
2006/04/05(水) 11:42:380438名無しさん@お腹いっぱい。
2006/04/05(水) 11:43:240439名無しさん@お腹いっぱい。
2006/04/05(水) 17:52:430440438
2006/04/05(水) 18:17:480441名無しさん@お腹いっぱい。
2006/04/05(水) 20:48:57同時にいぢれるんですよね?
0442名無しさん@お腹いっぱい。
2006/04/05(水) 21:24:22http://lorentey.hu/project/emacs.html.hu
ただxemacsなら素のままで可能ですよ。
0443名無しさん@お腹いっぱい。
2006/04/05(水) 23:20:01xemacs はあまり好きじゃないんだ。
とりあえず multi-tty コンパイルしてみるよ。
0444名無しさん@お腹いっぱい。
2006/04/05(水) 23:37:160445名無しさん@お腹いっぱい。
2006/04/06(木) 03:35:53128 のパッチだけだと不十分な場合あり。(GNU ld の
バージョンによる。)
Solaris 8 のころにすでにぶつかって困った問題です。
Solaris sparcでも solaris x86 でも起きます。
普通にconfigure してから
Makefile の LDFLAGS に
LDFLAGS=-z nocombreloc -L/usr/openwin/lib
を加える。
なので、ひるがえって こんな感じで configure する。
solaris10 の例:
env LDFLAGS="-z nocombreloc" MAKE=gmake CC="$CC" ./configure --prefix=/opt/csw/ --with-xim=no
"-z nocombreloc" を使うには gnu ld でないとうまくないはず。
細かなところは3年くらいまえの GCC のメイリングリストみると
でてますが、エッセンスは 128 の話と、その当時多少 clever に
なりはじめた ld の問題ということ。
22 だと unexec が賢くなってるのかな。(そうならちょっと驚き。)
単に上の -z nocombreloc がdefault で入っているだけ? (これもそうなら
ちょっと驚き。)
0446名無しさん@お腹いっぱい。
2006/04/06(木) 08:16:13をうまく font-lock してくれない場合があります。何かこの問題への対処法はありますか?
0447名無しさん@お腹いっぱい。
2006/04/06(木) 12:23:11ちなみにc?perl-modeやruby-modeならfont-lockが混乱しているときに
「# "」などと行末にいれるのが常套手段となっている。
python-modeなら「# """」とかかな。
0448名無しさん@お腹いっぱい。
2006/04/06(木) 15:28:20へー。はじめて知った。
0449名無しさん@お腹いっぱい。
2006/04/06(木) 16:00:280450名無しさん@お腹いっぱい。
2006/04/06(木) 16:45:450451名無しさん@お腹いっぱい。
2006/04/06(木) 16:58:460452名無しさん@お腹いっぱい。
2006/04/06(木) 17:03:34文法が変態な言語ならよくある。
高精度のparserをサブプロセスで動かせば改善すると思う。
0453名無しさん@お腹いっぱい。
2006/04/06(木) 23:42:430454名無しさん@お腹いっぱい。
2006/04/07(金) 03:57:02'''
Of the form:
d = { key1 : value1 ,
key2 : value2 ,
...,
key_n : value_n }
'''
"""
BBC News
Fears for Colombia Indian groups
Israeli missiles hit PA compound
Albania targets speedboat outlaws
"""
一行の時は大丈夫なんですけれどね。一応自分の .emacs にも font-lock-add-keywords の中に
("[rRU]?\\('''[[:blank:]]*[^\r\n][[:graph:][:blank:]\n\r]*?'''\\|\"\"\"[[:blank:]]*[^\r\n][[:graph:][:blank:]\n\r]*?\"\"\"\\)" 0 font-lock-doc-face append)
を入れてます。 re-builder では上の表現でしっかり文字列をキャプチャーしてくれるのですが、
font-lock はなぜかしてくれないです。
0455名無しさん@お腹いっぱい。
2006/04/07(金) 04:59:160456名無しさん@お腹いっぱい。
2006/04/07(金) 05:26:12"完全には" サポートされてないって感じですね。既に font-lock-multiline が t になってるけど、
それでも駄目みたいなので。。。 emacs-wiki.el あたりを見れば対処方が載ってるかな?
0457名無しさん@お腹いっぱい。
2006/04/07(金) 06:07:320458名無しさん@お腹いっぱい。
2006/04/07(金) 06:35:39軽く試したけどちゃんと色ついてるけどなあ。
0459名無しさん@お腹いっぱい。
2006/04/07(金) 12:58:48nxml-modeはfont-lockを使ってないからね。
0460名無しさん@お腹いっぱい。
2006/04/07(金) 14:20:05「font-lock-multiline とかの変数があったり、一応
複数行もシンプルな正規表現の場合は色がきちんと付いたりと、サポートする
努力はみられるけど、やっぱり完全にはサポートされてないなー」の「完全には」です。
>>458
> >>454
> 軽く試したけどちゃんと色ついてるけどなあ。
それ何度やっても付きます? 自分は付く時と付かない時があります。
0461名無しさん@お腹いっぱい。
2006/04/07(金) 14:26:15> そろそろ制度の高いparserを導入して脱font-lockしないといけないと思う。
> nxml-modeはfont-lockを使ってないからね。
その nxml-mode ってすごそう。全部で 17,000 行ぐらいとか言ってるし
0462名無しさん@お腹いっぱい。
2006/04/07(金) 14:35:07言語側にやらせたりできないかな。
0463名無しさん@お腹いっぱい。
2006/04/07(金) 14:52:00RubyならRipperなparserをサブプロセスにすればよさげ。
他の言語だとどうなのか。
0464名無しさん@お腹いっぱい。
2006/04/07(金) 23:58:45こんなところで唸っても何にもならないので
御大に直接メールしてください。
0465名無しさん@お腹いっぱい。
2006/04/08(土) 00:45:300466名無しさん@お腹いっぱい。
2006/04/08(土) 01:08:29> それ何度やっても付きます? 自分は付く時と付かない時があります。
おまえバカだろ。だったら付かない時を再現できるよう前後のコードを
示さにゃ誰もわからんだろうよ。
0467名無しさん@お腹いっぱい。
2006/04/08(土) 01:43:23付く時と付かない時があるっつってんだから前後は関係ないのではなかろうか。
ま、>>460の説明が下手だってのはそうなんだけど、なんとなくそう思ったり。
0468名無しさん@お腹いっぱい。
2006/04/08(土) 02:03:06ライブラリとしてリンクするんじゃなくて、パイプでつないで外部プロセスから結果だけ受け取るようにすればOK?
>>461
nxml-modeは確かにすごいねー。中で何やってるんだあれ?ソース追いかけてもなにか「すごそう」なことをしていることしかわからなかった。
ただ、1000,2000行くらいを超えるXMLファイルを編集しはじめると、非常に重くなる。もったいない・・・あれをCで再実装してくれんかね。
0469名無しさん@お腹いっぱい。
2006/04/08(土) 02:59:06マシンスペックは?
やはり重くなるのか‥しょせんのろまのEmacsLispか
nxml-modeでつこてるparserをCで実装してパイプでつなぐと速くなるのかな?
0470名無しさん@お腹いっぱい。
2006/04/09(日) 01:47:51その外部プログラムのライセンスは?
さらにEmacs添付にするにはFSFの書面が必要だが
0471名無しさん@お腹いっぱい。
2006/04/09(日) 01:56:180472名無しさん@お腹いっぱい。
2006/04/09(日) 01:58:360473名無しさん@お腹いっぱい。
2006/04/09(日) 02:19:250474名無しさん@お腹いっぱい。
2006/04/09(日) 14:30:52自分はEshellを使用しているのですが、特定のコマンド(例えばmysqlとか)の
standard outputの内容がうまくEshellバッファに反映されません。
何か解決策はあるでしょうか?
0475名無しさん@お腹いっぱい。
2006/04/09(日) 16:04:320476名無しさん@お腹いっぱい。
2006/04/09(日) 21:48:420477名無しさん@お腹いっぱい。
2006/04/09(日) 22:24:35UnicodeはEmacs22/23じゃないけ?
はよLexical BindingとDynamic Libraryを本家に入れてくれ。
とくにfont-lockが遅すぎて困るんだ。
0478名無しさん@お腹いっぱい。
2006/04/09(日) 22:41:290479名無しさん@お腹いっぱい。
2006/04/09(日) 22:43:44concurrencyならIPCでも十分な希ガス
lexicalにすると高速化されるとは思う
0480名無しさん@お腹いっぱい。
2006/04/09(日) 22:58:09あとportable dumper Emacs もこのリストに入れてくれや。
0481名無しさん@お腹いっぱい。
2006/04/10(月) 03:17:44なぜならEmacsの起動時間==uptimeだからだ
0482名無しさん@お腹いっぱい。
2006/04/10(月) 03:23:43それさえなんとかしてくれれば神環境なんだが。
0483名無しさん@お腹いっぱい。
2006/04/10(月) 07:12:340484名無しさん@お腹いっぱい。
2006/04/10(月) 08:58:07何をしているときに遅いの?
下手な設定しているんじゃないの?
0485名無しさん@お腹いっぱい。
2006/04/10(月) 10:49:26482 じゃないけど、 xdisp.c の末尾から C-M-a してみるとか。
0486名無しさん@お腹いっぱい。
2006/04/10(月) 12:54:030487名無しさん@お腹いっぱい。
2006/04/10(月) 14:17:18数万行のソースファイルのfont-lock
emacs-w3mのfonfity
プロセスの入出力
primitive不足のため雑多な文字列処理も遅い
0488名無しさん@お腹いっぱい。
2006/04/10(月) 14:52:18(tarai 12 6 0) の結果:
Emacs 22.0.50: 5.125
CLISP 2.38: 2.499
SBCL 0.9.11: 0.396
GCC 3.4.4: 0.14
バイトコードコンパイラの CLISP と比べても Emacs Lisp は 2 倍以上遅い。
SBCL くらい速ければ C で書く部分をずいぶん減らせるはず。
0489名無しさん@お腹いっぱい。
2006/04/10(月) 16:27:17common lispと比べられてもなぁ…。
vimの関数とか、秀丸マクロと比べてみるとか(笑)
0490名無しさん@お腹いっぱい。
2006/04/10(月) 17:24:360491名無しさん@お腹いっぱい。
2006/04/10(月) 18:44:170492名無しさん@お腹いっぱい。
2006/04/10(月) 23:12:19Emacs 21.4での結果もたのむ
0493名無しさん@お腹いっぱい。
2006/04/10(月) 23:26:14PCL-CVSで、
cvs update -rhoge
みたいに、タグ指定でcvs updateするにはどのコマンドを使えばいいのでしょうか?
0494名無しさん@お腹いっぱい。
2006/04/11(火) 00:53:360495名無しさん@お腹いっぱい。
2006/04/11(火) 00:56:220496名無しさん@お腹いっぱい。
2006/04/11(火) 00:56:23書面が必要な上rmsを説得せねばならん
0497名無しさん@お腹いっぱい。
2006/04/11(火) 01:02:21fork しようよ。
0498名無しさん@お腹いっぱい。
2006/04/11(火) 01:07:55Emacsにもそれを適用してみるのはどうだろう?
探索や置換をprimitiveにするとそこそこ高速になると思う。
0499名無しさん@お腹いっぱい。
2006/04/11(火) 01:09:23xemacsなんてたとえてみればアミバ流北斗神拳だろ。
0500名無しさん@お腹いっぱい。
2006/04/11(火) 01:11:490501名無しさん@お腹いっぱい。
2006/04/11(火) 01:14:20> アリゴリズム
0502500
2006/04/11(火) 01:15:190503名無しさん@お腹いっぱい。
2006/04/11(火) 10:45:30日本人の最大の欠点。
英語で議論できない。
パッチだけ送って取り込まれないとごねる。
0504名無しさん@お腹いっぱい。
2006/04/11(火) 13:10:300505名無しさん@お腹いっぱい。
2006/04/11(火) 13:55:170506名無しさん@お腹いっぱい。
2006/04/11(火) 14:18:10rmsは始めごねてたのに
0507名無しさん@お腹いっぱい。
2006/04/11(火) 14:55:350508名無しさん@お腹いっぱい。
2006/04/11(火) 18:22:12コンパイルするというパッチが送られてきたときは
http://lists.gnu.org/archive/html/emacs-devel/2004-03/msg00469.html
I don't think that a speedup of less than a factor of 2 would be worth
installing something that might take substantial maintenance effort.
いきなりこれ。で、パッチ作者ががんばって効率化したら
http://lists.gnu.org/archive/html/emacs-devel/2004-06/msg00103.html
I simply deleted that TODO entry, since it looks like this optimization
isn't worth a big effort. Computers are so fast nowadays that Emacs
Lisp code hardly needs speeding up.
ということで終了だもん。途中で言ってること変えるんだから議論のしようがない。
0509名無しさん@お腹いっぱい。
2006/04/11(火) 18:29:250510名無しさん@お腹いっぱい。
2006/04/11(火) 18:48:11俺自身も遅いマシンでベイジアンフィルタつきnavi2chで見るために
バイトコードをx86のネイティブコードに変換するのを自分で実装して
一時期使ってたりしたけどさ。
それ自体は仕事としては、あまり前向きな仕事じゃないんだよ。
どうせ真面目に高速化を考えてもっていこうとすると今のelispをそのまま扱う
んじゃなくなるだろうから、かなりのreworkというかやり直しになるんだし。
メールを見るに、そのパッチを投げた人もそのへんわかってるんじゃないかと思うけど。
自分では何もしない人から見ると面白そうだけど、
やってみればその仕事の価値というか位置付けみたいなものは自分でわかる。
0511名無しさん@お腹いっぱい。
2006/04/11(火) 19:05:00rmsはEmacsLispを高速化する気さらさらないんだから。
navi2chもpure elispだなんて愚かな設計だよ。
誰かEmacsで動く高速な2chブラウザ開発してないかね。
0512名無しさん@お腹いっぱい。
2006/04/11(火) 19:07:22EmacsLispが遅いことを知っているからこそ時間のかかる処理を外部コマンドにやらせている。
0513名無しさん@お腹いっぱい。
2006/04/11(火) 19:10:26どんどん内部化するという傾向があるように思うのだけど、
あれはどういう理由なの?
バックエンドを作っておけばいろいろなインターフェースから使えるから、
外部コマンドを使うというのは大変良い解法のように思えるのだけど。
何か問題があるの?
0514名無しさん@お腹いっぱい。
2006/04/11(火) 19:13:290515名無しさん@お腹いっぱい。
2006/04/11(火) 19:13:34ユーザに外部コマンドをインストールさせるのが面倒だとか考えてんじゃないの?
ユーザとしては動作が遅くなる方が大問題なんだけど。
emacs-w3mもnavi2chもソース見てて痛々しいんだよな。
0516名無しさん@お腹いっぱい。
2006/04/11(火) 19:17:04計算処理は外部コマンド、入出力、表示のみEmacsLispというのが最適解なんだろうね。
0517名無しさん@お腹いっぱい。
2006/04/11(火) 19:48:09mewは確かに、
mewencode, mewl, incm, mewstunnelを持っているけど、
昔に比べると徐々にelispを使う方向になってきている。
0518名無しさん@お腹いっぱい。
2006/04/11(火) 20:10:40なんか1.xx時代はとても速かったのに。
0519名無しさん@お腹いっぱい。
2006/04/11(火) 20:21:24IMがmewのバックエンドだった。
0520517
2006/04/11(火) 20:26:35$ imls +フォルダ名 > ~/Mail/フォルダ名/.mew-cache
ってやってた。万単位のメールあるところで。
今は全部elispで書けるから、設定の自由度上がったけれど、遅いね。
0521名無しさん@お腹いっぱい。
2006/04/11(火) 20:31:210522名無しさん@お腹いっぱい。
2006/04/11(火) 20:52:560523名無しさん@お腹いっぱい。
2006/04/11(火) 20:54:02> いろんなプラットフォームで動く外部コマンド書くのもつらくない?
Perl/Rubyでいっぱつ。
0524名無しさん@お腹いっぱい。
2006/04/11(火) 20:55:57まあ、なんらかの標準化や翻訳メカニズムを作ってしまえば、それで
行けるのだろうけど。
0525名無しさん@お腹いっぱい。
2006/04/11(火) 21:35:15べつにCでもいいじゃん。小規模のものなら誰かが移植してくれる。
>>524
それはひとえに設計が悪いからじゃないのか?
EmacsLispでオプションを設定してコマンドラインで渡せばいいだろ。
0526名無しさん@お腹いっぱい。
2006/04/11(火) 23:36:33昨今の強力なマシンなら Emacs だけで処理してもなんとかなるし。
速さより手軽にいじれることのが重要になってくんでしょ、きっと。
0527名無しさん@お腹いっぱい。
2006/04/11(火) 23:53:21MewはMH-Eの代替品だからああいう形になっているのかと思っていた。
そういえば、最近のMewのInfoからはMH-Eの悪口消えたのね。
0528名無しさん@お腹いっぱい。
2006/04/12(水) 00:42:42emacs-w3mはw3の二の舞になってるね。
>>526
EmacsLispが増えるとその反面、全体像が見えづらくなってカスタマイズが困難だけど。
いっそのことEmacsLispを1000行前後に抑えてあとは全部外部コマンドまかせにしてくれ。
>>527
なつかしい、俺がLinux駆け出しだったころ悪口書いてあったな。
■ このスレッドは過去ログ倉庫に格納されています