Emacs Part 33
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/12/20(日) 20:11:28Emacs Part 32
http://pc12.2ch.net/test/read.cgi/unix/1256324736/
0696名無しさん@お腹いっぱい。
2010/02/12(金) 10:17:011. (defun-rec name args body-forms) というマクロを定義する
2. body-forms にマクロが含まれていたら全て展開する
3. マクロ展開後に、name と同じ名前の関数呼び出しがあったら再帰とする
4. その関数の戻り値が他の関数の引数になっていたり、変数に束縛されていなかったら末尾再帰とする
5. 3-4 を繰り返して全ての末尾再帰を探し出す
6. S 式を変形して末尾再帰をループに書き換える
マクロでやるよりコンパイラに手を入れた方が…
0697名無しさん@お腹いっぱい。
2010/02/12(金) 11:16:46同意。
Emacsって、リソースの豊富さが最大の利点だったと思うけど、
それが逆にEmacs Lispの革新を阻んでいるとすれば皮肉な話やね。
このままだと時代に取り残されていくだけな気がするが…
0698名無しさん@お腹いっぱい。
2010/02/12(金) 11:25:00別にそれで何が困るってことも無いと思うんだけど。使ってる側としてよ?
0699名無しさん@お腹いっぱい。
2010/02/12(金) 11:39:35emacsはasync processで通信するだけにするようにしてる
0700名無しさん@お腹いっぱい。
2010/02/12(金) 11:40:060701名無しさん@お腹いっぱい。
2010/02/12(金) 11:45:430702名無しさん@お腹いっぱい。
2010/02/12(金) 11:46:420703名無しさん@お腹いっぱい。
2010/02/12(金) 12:43:42変えるならどっちを変えるべき?
0704名無しさん@お腹いっぱい。
2010/02/12(金) 18:45:350705名無しさん@お腹いっぱい。
2010/02/12(金) 19:14:530706名無しさん@お腹いっぱい。
2010/02/12(金) 23:13:02他のじゃない?
0707名無しさん@お腹いっぱい。
2010/02/12(金) 23:15:590708名無しさん@お腹いっぱい。
2010/02/13(土) 05:02:25手順をどうもありがとうございます。
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:264行目以降色々と変なので後で直します。
0710名無しさん@お腹いっぱい。
2010/02/13(土) 05:22:33連投ごめんなさい。
こうですかね。
(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:330712名無しさん@お腹いっぱい。
2010/02/13(土) 19:33:2410年使ってたってelisp書けない人もいるし別に気がむいたときに触ればいいんでない?
0713名無しさん@お腹いっぱい。
2010/02/13(土) 19:41:200714名無しさん@お腹いっぱい。
2010/02/13(土) 19:44:12キーボードを新調する時にctrlキーが小指の左の位置にないと買う気にならない
そんな物欲を抑える効果が
0715名無しさん@お腹いっぱい。
2010/02/13(土) 20:25:29買ったばかりなんだ
0716名無しさん@お腹いっぱい。
2010/02/13(土) 20:38:54Geany使うと簡単なんだけど、CUIでやる方が効率がいいと思うし
>>714
vimかemacsのためにHHK買ってる
0717名無しさん@お腹いっぱい。
2010/02/13(土) 21:33:34年寄りに気に入られる
0718名無しさん@お腹いっぱい。
2010/02/14(日) 01:18:14コンパイルって compile か recompile をファンクションキーに
割り当てればいいんじゃないの?
0719名無しさん@お腹いっぱい。
2010/02/14(日) 02:54:410720名無しさん@お腹いっぱい。
2010/02/14(日) 08:02:00前提としてると思うんだけどなんでHHKが人気なんだろう。
LispマシンのControlは親指の位置だし。
0721名無しさん@お腹いっぱい。
2010/02/14(日) 08:38:55ぶっちゃけコントロールキーの位置がAの隣りにあれば別にHHKじゃなくていいし。
あと名前だろ。
0722名無しさん@お腹いっぱい。
2010/02/14(日) 09:08:24;; 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"\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おー、表示できました! ありがとう!
エスケープとかコントロールのグリフも簡単にカスタマイズ
できるようになってたんですね。
0728名無しさん@お腹いっぱい。
2010/02/14(日) 14:31:01いつからか知らないけど、git先端で検索できるようになっている。
0729名無しさん@お腹いっぱい。
2010/02/14(日) 15:01:14GJ! > 作者の方々
0730名無しさん@お腹いっぱい。
2010/02/14(日) 16:29:35`semantic-default-submodes'
こんな設定あったっけ?と思って調べたら、
Emacs 23 の方と cedet の sf の cvs とで、微妙にコード違うのね。
ちょっと注意!
0731名無しさん@お腹いっぱい。
2010/02/15(月) 00:08:06割と違っているっぽいけど、他の違いとしては SRecode と COGRE がない。
まぁ全く使わないからいいんだけど。
0732名無しさん@お腹いっぱい。
2010/02/15(月) 10:05:48まってくれ
C-c ,
はhowmが・・・
0733名無しさん@お腹いっぱい。
2010/02/15(月) 10:57:170734名無しさん@お腹いっぱい。
2010/02/15(月) 12:23:31howmに代わるアプリがあったらお知えてほしい。
0735名無しさん@お腹いっぱい。
2010/02/15(月) 13:02:270736名無しさん@お腹いっぱい。
2010/02/15(月) 13:04:040737名無しさん@お腹いっぱい。
2010/02/15(月) 15:45:24howmってバックエンドにはまだgrepを使ってるのかな?ファイルが増えて
検索に時間がかかる様になってきたんでHyper Estraierに乗り換えたわ
0738名無しさん@お腹いっぱい。
2010/02/15(月) 16:01:570739名無しさん@お腹いっぱい。
2010/02/15(月) 21:17:490740名無しさん@お腹いっぱい。
2010/02/16(火) 00:08:360741名無しさん@お腹いっぱい。
2010/02/16(火) 01:03:55こないだやっとemacs-wikiを覚えたと思ったら、時代は進んでいるんだな。
0742名無しさん@お腹いっぱい。
2010/02/16(火) 02:15:110743名無しさん@お腹いっぱい。
2010/02/16(火) 02:21:29elispでやるにはバックグラウンドで実行する仕組みが必要だし、
そもそも重そうなんでCで実装されて欲しい。
0744名無しさん@お腹いっぱい。
2010/02/16(火) 02:54:350745名無しさん@お腹いっぱい。
2010/02/16(火) 03:12:11全文検索なら namazu がある。
namazu.el ってのもあるみたい。
0746名無しさん@お腹いっぱい。
2010/02/16(火) 03:59:270747名無しさん@お腹いっぱい。
2010/02/16(火) 05:12:290748名無しさん@お腹いっぱい。
2010/02/16(火) 06:06:410749名無しさん@お腹いっぱい。
2010/02/16(火) 08:51:540750名無しさん@お腹いっぱい。
2010/02/16(火) 12:33:250751名無しさん@お腹いっぱい。
2010/02/16(火) 21:58:02どこどこ?
0752名無しさん@お腹いっぱい。
2010/02/16(火) 23:57:260753名無しさん@お腹いっぱい。
2010/02/17(水) 00:43:490754名無しさん@お腹いっぱい。
2010/02/17(水) 01:31:310755名無しさん@お腹いっぱい。
2010/02/17(水) 04:07:230756名無しさん@お腹いっぱい。
2010/02/17(水) 09:22:58生理なんじゃね?
0757名無しさん@お腹いっぱい。
2010/02/17(水) 10:00:35イライラすんな。
0758名無しさん@お腹いっぱい。
2010/02/17(水) 10:05:36> howmはspotlightでひっかけてる
サフィックスは *.howm のままでspotlightにひっかけることができますか?
それとも*.txtなどにしてます?
0759名無しさん@お腹いっぱい。
2010/02/17(水) 10:23:00組み合わせれるみたいだよ
http://hiki.i-yt.info/hiki.cgi?org-mode+and+howm
0760名無しさん@お腹いっぱい。
2010/02/17(水) 13:44:360761名無しさん@お腹いっぱい。
2010/02/17(水) 13:46:160762名無しさん@お腹いっぱい。
2010/02/17(水) 17:13:490763名無しさん@お腹いっぱい。
2010/02/17(水) 18:35:360764名無しさん@お腹いっぱい。
2010/02/17(水) 18:48:590765名無しさん@お腹いっぱい。
2010/02/17(水) 18:52:480766名無しさん@お腹いっぱい。
2010/02/17(水) 18:57:290767名無しさん@お腹いっぱい。
2010/02/17(水) 19:03:280768名無しさん@お腹いっぱい。
2010/02/17(水) 19:04:250769名無しさん@お腹いっぱい。
2010/02/17(水) 19:23:530770名無しさん@お腹いっぱい。
2010/02/17(水) 20:44:220771名無しさん@お腹いっぱい。
2010/02/18(木) 13:16:54何にしてんの?
0772名無しさん@お腹いっぱい。
2010/02/18(木) 15:19:070773名無しさん@お腹いっぱい。
2010/02/18(木) 15:23:440774名無しさん@お腹いっぱい。
2010/02/18(木) 15:24:190775名無しさん@お腹いっぱい。
2010/02/18(木) 20:02:22おまえら、愛してる!!!
0776名無しさん@お腹いっぱい。
2010/02/18(木) 20:33:42だったら義理チョコくらい配れよ。
0777名無しさん@お腹いっぱい。
2010/02/18(木) 20:53:480778Zeno ◆5nZQbNmQPs
2010/02/18(木) 20:55:05>>775
吾も君、そして "君達全員を" 愛しているぞ!
0779名無しさん@お腹いっぱい。
2010/02/18(木) 21:02:150780名無しさん@お腹いっぱい。
2010/02/19(金) 02:24:02> おまえら、愛してる!!!
機関銃乱射しながら叫ぶなや
0781名無しさん@お腹いっぱい。
2010/02/19(金) 11:41:43マージされる気がする。というか、それ以外に何があるんだろうか。
0782名無しさん@お腹いっぱい。
2010/02/19(金) 16:03:22Emacsに必要なのは何をおいてもマルスレなんだ、
ってことをいまいち分かってないんだよな〜上層部は。
0783名無しさん@お腹いっぱい。
2010/02/19(金) 17:27:150784名無しさん@お腹いっぱい。
2010/02/19(金) 17:53:200785名無しさん@お腹いっぱい。
2010/02/20(土) 00:56:14>「お知えて」
疲れてるときにSKK使うと打ってしまうのかもしれない
0786名無しさん@お腹いっぱい。
2010/02/20(土) 09:55:240787名無しさん@お腹いっぱい。
2010/02/20(土) 09:59:130788名無しさん@お腹いっぱい。
2010/02/20(土) 11:00:48GoogleIMEだと「しえて」で「知えて」が候補に出てくるようになっとるわwww
0789名無しさん@お腹いっぱい。
2010/02/20(土) 12:45:530790名無しさん@お腹いっぱい。
2010/02/20(土) 13:32:220791名無しさん@お腹いっぱい。
2010/02/20(土) 17:25:150792名無しさん@お腹いっぱい。
2010/02/20(土) 23:39:49お前さんの世界観に共鳴
0793名無しさん@お腹いっぱい。
2010/02/21(日) 01:12:570794名無しさん@お腹いっぱい。
2010/02/21(日) 01:37:140795名無しさん@お腹いっぱい。
2010/02/22(月) 01:50:53呼びだされません。バッファ上での入力は問題ありません。
i-search用になにか設定がいるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています