トップページunix
1001コメント237KB

Emacs Part 33

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/12/20(日) 20:11:28
前スレ
Emacs Part 32
http://pc12.2ch.net/test/read.cgi/unix/1256324736/
0696名無しさん@お腹いっぱい。2010/02/12(金) 10:17:01
自己再帰のみ考える。

1. (defun-rec name args body-forms) というマクロを定義する
2. body-forms にマクロが含まれていたら全て展開する
3. マクロ展開後に、name と同じ名前の関数呼び出しがあったら再帰とする
4. その関数の戻り値が他の関数の引数になっていたり、変数に束縛されていなかったら末尾再帰とする
5. 3-4 を繰り返して全ての末尾再帰を探し出す
6. S 式を変形して末尾再帰をループに書き換える

マクロでやるよりコンパイラに手を入れた方が…
0697名無しさん@お腹いっぱい。2010/02/12(金) 11:16:46
>>695
同意。

Emacsって、リソースの豊富さが最大の利点だったと思うけど、
それが逆にEmacs Lispの革新を阻んでいるとすれば皮肉な話やね。
このままだと時代に取り残されていくだけな気がするが…
0698名無しさん@お腹いっぱい。2010/02/12(金) 11:25:00
とっくに取り残されてると思うし
別にそれで何が困るってことも無いと思うんだけど。使ってる側としてよ?
0699名無しさん@お腹いっぱい。2010/02/12(金) 11:39:35
なるべく外部プロセス任せで
emacsはasync processで通信するだけにするようにしてる
0700名無しさん@お腹いっぱい。2010/02/12(金) 11:40:06
移植性が
0701名無しさん@お腹いっぱい。2010/02/12(金) 11:45:43
ここの住民の方々はメタキーをどのキーに割り当てていますか?
0702名無しさん@お腹いっぱい。2010/02/12(金) 11:46:42
割り当ててないよ。
0703名無しさん@お腹いっぱい。2010/02/12(金) 12:43:42
skkのデフォルトキーバインドとgdb-modeなどのプログラム開発系のキーバインドが重なる
変えるならどっちを変えるべき?
0704名無しさん@お腹いっぱい。2010/02/12(金) 18:45:35
何か重なってたっけ?
0705名無しさん@お腹いっぱい。2010/02/12(金) 19:14:53
確かskkためそうとしたらタグジャンプされてskk使うのあきらめた記憶が
0706名無しさん@お腹いっぱい。2010/02/12(金) 23:13:02
gdb-ul.el を見たけど、ぶつかりそうなものは無いみたいよ。
他のじゃない?
0707名無しさん@お腹いっぱい。2010/02/12(金) 23:15:59
すまん、gdb-ui.el か。
0708名無しさん@お腹いっぱい。2010/02/13(土) 05:02:25
>>696
手順をどうもありがとうございます。

1.から3.までを反映したものです。

(defmacro defun-rec (name args body)
(let ((expanded-body (macroexpand-all body)))
(if (member name expanded-body)
(process456 expanded-body)
expanded-body)))

4.の木がちょっとイメージできてないので整理ができたら、
process456に移りたいと思います。

0709名無しさん@お腹いっぱい。2010/02/13(土) 05:09:26
>>708
4行目以降色々と変なので後で直します。
0710名無しさん@お腹いっぱい。2010/02/13(土) 05:22:33
>>708
連投ごめんなさい。
こうですかね。

(defmacro defun-rec (name args body)
(let ((expanded-body (macroexpand-all body)))
(if (member name expanded-body)
(process456 name args expanded-body)
`(defun ,name ,args ,expanded-body))))
0711名無しさん@お腹いっぱい。2010/02/13(土) 19:30:33
今からemacs使いになるメリットある?
0712名無しさん@お腹いっぱい。2010/02/13(土) 19:33:24
メリット考えるぐらいなら別に使う必要ないと思う。
10年使ってたってelisp書けない人もいるし別に気がむいたときに触ればいいんでない?
0713名無しさん@お腹いっぱい。2010/02/13(土) 19:41:20
そりゃ何事も覚えないより覚えた方がメリットあるだろ
0714名無しさん@お腹いっぱい。2010/02/13(土) 19:44:12
メリットと呼べるかわからないけど
キーボードを新調する時にctrlキーが小指の左の位置にないと買う気にならない
そんな物欲を抑える効果が
0715名無しさん@お腹いっぱい。2010/02/13(土) 20:25:29
最近ディップスイッチで Ctrl_L と CapLock を入れ替えられるキーボードを
買ったばかりなんだ
0716名無しさん@お腹いっぱい。2010/02/13(土) 20:38:54
C言語やってるんだけど、コンパイルするのが面倒くさいんだよね。
Geany使うと簡単なんだけど、CUIでやる方が効率がいいと思うし

>>714
vimかemacsのためにHHK買ってる
0717名無しさん@お腹いっぱい。2010/02/13(土) 21:33:34
>>711
年寄りに気に入られる
0718名無しさん@お腹いっぱい。2010/02/14(日) 01:18:14
>>716
コンパイルって compile か recompile をファンクションキーに
割り当てればいいんじゃないの?
0719名無しさん@お腹いっぱい。2010/02/14(日) 02:54:41
HHKは厚過ぎる
0720名無しさん@お腹いっぱい。2010/02/14(日) 08:02:00
LispマシンやUnixって本来機能キーが豊富にあるでかいキーボード
前提としてると思うんだけどなんでHHKが人気なんだろう。
LispマシンのControlは親指の位置だし。
0721名無しさん@お腹いっぱい。2010/02/14(日) 08:38:55
本来より実用性じゃないのかなぁ
ぶっちゃけコントロールキーの位置がAの隣りにあれば別にHHKじゃなくていいし。
あと名前だろ。
0722名無しさん@お腹いっぱい。2010/02/14(日) 09:08:24
次の Emacs23.2 から Semantic が使えるようになるから使い方を書いておくよ。

;; semantic-default-submodes はデフォでもいいけどフル機能を
;; 使う場合は下記のようにする(フル機能にするのを推奨)
(setq semantic-default-submodes
'(global-semanticdb-minor-mode
global-semantic-idle-scheduler-mode
global-semantic-idle-summary-mode
global-semantic-idle-completions-mode
global-semantic-decoration-mode
global-semantic-highlight-func-mode
global-semantic-stickyfunc-mode
global-semantic-mru-bookmark-mode))
;; 自分のプロジェクトのトップディレクトリをリストで与える
(setq semanticdb-project-roots '("~/ProjDir"))
;; ここで有効にする(順番が大事)
(semantic-mode 1)
;; システムのインクルードパスを設定する (C++ で gtkmm を使う場合)
(semantic-add-system-include "/usr/include/sigc++-2.0" 'c++-mode)
(semantic-add-system-include "/usr/include/gtkmm-2.4" 'c++-mode)
(semantic-add-system-include "/usr/include/gdkmm-2.4" 'c++-mode)
(semantic-add-system-include "/usr/include/giomm-2.4" 'c++-mode)
(semantic-add-system-include "/usr/include/glibmm-2.4" 'c++-mode)
(semantic-add-system-include "/usr/include/c++/4.4.1/i586-redhat-linux" 'c++-mode)
(semantic-add-system-include "/usr/include/c++/4.4.1" 'c++-mode)
0723名無しさん@お腹いっぱい。2010/02/14(日) 09:09:13
これでクラスのメソッド名を入力中にインライン補完が効くようになるし、
色々出来るようになる。(インライン補完は一見の価値有り!)
#include <hoge.h> をマウスクリックで hoge.h を開けたり、
ローカル・グローバル変数やクラスのデータの宣言や定義の場所に飛んだりなど。
(実際は飛ばなくてもエコーエリアに随時宣言内容が表示されるので、そこを直接
編集したい時ぐらいだけど)

`C-c , j' 定義場所にジャンプ(ローカル変数専用)
`C-c , J' グローバル変数・クラスデータなどファイルをまたぐ場合
`C-c , u' 型の宣言場所*など*に飛ぶ

M-x speedbar でソースブラウザになるんで、これも中々使える。
後は Semantic の info を見れば色々書いてある。
C++ でしか使ってないけど、これで VC 並の環境になるはず(多分)。
0724名無しさん@お腹いっぱい。2010/02/14(日) 09:32:17
言語だのライブラリだの増えまくってるし
補完効かせられるところは効かせたいもんな。
0725名無しさん@お腹いっぱい。2010/02/14(日) 10:08:53
standard-display-tableで#x5Cを円記号で表示するようにしてるんだけど
"\276\356\270\261\300\373"とかの生の8ビットのコードは
バックスラッシュのまま表示されてしまう。
8ビットコードはdisplay-table適用外なのかなあ。
0726名無しさん@お腹いっぱい。2010/02/14(日) 12:33:27
こんな感じでどうだ?

(let ((tbl (make-display-table)))
(set-display-table-slot tbl 2 ?¥)
(setq standard-display-table tbl))
0727名無しさん@お腹いっぱい。2010/02/14(日) 13:30:19
>>726
おー、表示できました! ありがとう!
エスケープとかコントロールのグリフも簡単にカスタマイズ
できるようになってたんですね。
0728名無しさん@お腹いっぱい。2010/02/14(日) 14:31:01
>>594
いつからか知らないけど、git先端で検索できるようになっている。
0729名無しさん@お腹いっぱい。2010/02/14(日) 15:01:14
うお、ホントだ! 検索できる!
GJ! > 作者の方々
0730名無しさん@お腹いっぱい。2010/02/14(日) 16:29:35
>>722

`semantic-default-submodes'
こんな設定あったっけ?と思って調べたら、

Emacs 23 の方と cedet の sf の cvs とで、微妙にコード違うのね。

ちょっと注意!
0731名無しさん@お腹いっぱい。2010/02/15(月) 00:08:06
>>730
割と違っているっぽいけど、他の違いとしては SRecode と COGRE がない。
まぁ全く使わないからいいんだけど。
0732名無しさん@お腹いっぱい。2010/02/15(月) 10:05:48
>>723
まってくれ
C-c ,
はhowmが・・・
0733名無しさん@お腹いっぱい。2010/02/15(月) 10:57:17
howmなんて使ってる人まだいたんや
0734名無しさん@お腹いっぱい。2010/02/15(月) 12:23:31
>>733
howmに代わるアプリがあったらお知えてほしい。
0735名無しさん@お腹いっぱい。2010/02/15(月) 13:02:27
どうやったら「お知えて」なんて書けるんだ
0736名無しさん@お腹いっぱい。2010/02/15(月) 13:04:04
いっけん正しく見えるから不思議
0737名無しさん@お腹いっぱい。2010/02/15(月) 15:45:24
>>734
howmってバックエンドにはまだgrepを使ってるのかな?ファイルが増えて
検索に時間がかかる様になってきたんでHyper Estraierに乗り換えたわ
0738名無しさん@お腹いっぱい。2010/02/15(月) 16:01:57
ぼくは東キャビに全部突っ込もうとしている
0739名無しさん@お腹いっぱい。2010/02/15(月) 21:17:49
NoSQLな流れがこんなところまで・・・
0740名無しさん@お腹いっぱい。2010/02/16(火) 00:08:36
howmとかはgoogle desktopで引っかけてる.すべてemacsで出来たらいいんだけどな.
0741名無しさん@お腹いっぱい。2010/02/16(火) 01:03:55
標準であるorg-modeってのがhowmと同じようなものなんだっけ?
こないだやっとemacs-wikiを覚えたと思ったら、時代は進んでいるんだな。
0742名無しさん@お腹いっぱい。2010/02/16(火) 02:15:11
howmはspotlightでひっかけてる
0743名無しさん@お腹いっぱい。2010/02/16(火) 02:21:29
全文検索機能がエディタに標準で入って欲しいな。
elispでやるにはバックグラウンドで実行する仕組みが必要だし、
そもそも重そうなんでCで実装されて欲しい。
0744名無しさん@お腹いっぱい。2010/02/16(火) 02:54:35
シェル上だとfindしか選択肢無いのかな?
0745名無しさん@お腹いっぱい。2010/02/16(火) 03:12:11
>>744
全文検索なら namazu がある。
namazu.el ってのもあるみたい。
0746名無しさん@お腹いっぱい。2010/02/16(火) 03:59:27
ん? 10年前のカキコが紛れ込んでる?
0747名無しさん@お腹いっぱい。2010/02/16(火) 05:12:29
カキコなんて言葉が10年前だろ
0748名無しさん@お腹いっぱい。2010/02/16(火) 06:06:41
つまんない男
0749名無しさん@お腹いっぱい。2010/02/16(火) 08:51:54
あたし女だけどたまには昔を振り返るのも良いと思うの
0750名無しさん@お腹いっぱい。2010/02/16(火) 12:33:25
howm の grep を Hyper Estraier に置き換える elisp もある。
0751名無しさん@お腹いっぱい。2010/02/16(火) 21:58:02
>>750
どこどこ?
0752名無しさん@お腹いっぱい。2010/02/16(火) 23:57:26
強烈に速いの作ってあげようか?
0753名無しさん@お腹いっぱい。2010/02/17(水) 00:43:49
SQLでschemaless DBは妥協
0754名無しさん@お腹いっぱい。2010/02/17(水) 01:31:31
calendar-modeでバッファーに3か月以上を表示する方法ってありますか?
0755名無しさん@お腹いっぱい。2010/02/17(水) 04:07:23
elispのソースみてるとイライラすんな。
0756名無しさん@お腹いっぱい。2010/02/17(水) 09:22:58
>>755
生理なんじゃね?
0757名無しさん@お腹いっぱい。2010/02/17(水) 10:00:35
>>755
イライラすんな。
0758名無しさん@お腹いっぱい。2010/02/17(水) 10:05:36
>>742
> howmはspotlightでひっかけてる

サフィックスは *.howm のままでspotlightにひっかけることができますか?
それとも*.txtなどにしてます?



0759名無しさん@お腹いっぱい。2010/02/17(水) 10:23:00
>>741
組み合わせれるみたいだよ
http://hiki.i-yt.info/hiki.cgi?org-mode+and+howm
0760名無しさん@お腹いっぱい。2010/02/17(水) 13:44:36
何で俺はこんな頭悪いんだ
0761名無しさん@お腹いっぱい。2010/02/17(水) 13:46:16
誤爆だ
0762名無しさん@お腹いっぱい。2010/02/17(水) 17:13:49
おまえもか。俺も頭悪くて困ってる。
0763名無しさん@お腹いっぱい。2010/02/17(水) 18:35:36
お前は顔も悪いもんな。
0764名無しさん@お腹いっぱい。2010/02/17(水) 18:48:59
それだけならよかったのだが・・・
0765名無しさん@お腹いっぱい。2010/02/17(水) 18:52:48
手癖も悪いし性格も悪いときたもんだ・・・
0766名無しさん@お腹いっぱい。2010/02/17(水) 18:57:29
反省してまーす
0767名無しさん@お腹いっぱい。2010/02/17(水) 19:03:28
いや、そこは俺が。
0768名無しさん@お腹いっぱい。2010/02/17(水) 19:04:25
遊ぶのはよそでやれ。
0769名無しさん@お腹いっぱい。2010/02/17(水) 19:23:53
チッ、うるせーな
0770名無しさん@お腹いっぱい。2010/02/17(水) 20:44:22
悪マックスかいな。
0771名無しさん@お腹いっぱい。2010/02/18(木) 13:16:54
お前等って frame の right-fringe と left-fringe の値は
何にしてんの?
0772名無しさん@お腹いっぱい。2010/02/18(木) 15:19:07
いいかんじにしてる。
0773名無しさん@お腹いっぱい。2010/02/18(木) 15:23:44
出場させた自分自身の判断は間違っていたとは思わない
0774名無しさん@お腹いっぱい。2010/02/18(木) 15:24:19
そうですか
0775名無しさん@お腹いっぱい。2010/02/18(木) 20:02:22

おまえら、愛してる!!!
0776名無しさん@お腹いっぱい。2010/02/18(木) 20:33:42
>>775
だったら義理チョコくらい配れよ。
0777名無しさん@お腹いっぱい。2010/02/18(木) 20:53:48
ほの板かとオモタw
0778Zeno ◆5nZQbNmQPs 2010/02/18(木) 20:55:05

>>775
吾も君、そして "君達全員を" 愛しているぞ!

0779名無しさん@お腹いっぱい。2010/02/18(木) 21:02:15
私女だけどZeno様大好き
0780名無しさん@お腹いっぱい。2010/02/19(金) 02:24:02
>>775
> おまえら、愛してる!!!

機関銃乱射しながら叫ぶなや
0781名無しさん@お腹いっぱい。2010/02/19(金) 11:41:43
そろそろ24のブランチが出来るようだけど、今度こそ lexbind が
マージされる気がする。というか、それ以外に何があるんだろうか。
0782名無しさん@お腹いっぱい。2010/02/19(金) 16:03:22
マルスレはまだなのか。
Emacsに必要なのは何をおいてもマルスレなんだ、
ってことをいまいち分かってないんだよな〜上層部は。
0783名無しさん@お腹いっぱい。2010/02/19(金) 17:27:15
もう上層部なんかほっといてセルハクしちゃいなよ
0784名無しさん@お腹いっぱい。2010/02/19(金) 17:53:20
セクハラに空目した。
0785名無しさん@お腹いっぱい。2010/02/20(土) 00:56:14
>>735
>「お知えて」
疲れてるときにSKK使うと打ってしまうのかもしれない
0786名無しさん@お腹いっぱい。2010/02/20(土) 09:55:24
SKK使いだけど登録でもしないかぎりその変換は無理だ。
0787名無しさん@お腹いっぱい。2010/02/20(土) 09:59:13
Results 1 - 10 of about 4,170 for "お知えて"
0788名無しさん@お腹いっぱい。2010/02/20(土) 11:00:48
"お知えて" に一致する日本語のページ 約 102,000 件中 1 - 10 件目 (0.34 秒)

GoogleIMEだと「しえて」で「知えて」が候補に出てくるようになっとるわwww
0789名無しさん@お腹いっぱい。2010/02/20(土) 12:45:53
世もまつだな。
0790名無しさん@お腹いっぱい。2010/02/20(土) 13:32:22
知床か
0791名無しさん@お腹いっぱい。2010/02/20(土) 17:25:15
T-Code 使いなんじゃないの

0792名無しさん@お腹いっぱい。2010/02/20(土) 23:39:49
>>780

お前さんの世界観に共鳴
0793名無しさん@お腹いっぱい。2010/02/21(日) 01:12:57
Emacsの話しをしようぜ
0794名無しさん@お腹いっぱい。2010/02/21(日) 01:37:14
それは本気で言ってるのか?
0795名無しさん@お腹いっぱい。2010/02/22(月) 01:50:53
日本語入力にuim.elを使ってみたのですが、i-searchで検索文字列に日本語を入力しようとしてもuim.elが
呼びだされません。バッファ上での入力は問題ありません。
i-search用になにか設定がいるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています