- 1 名前:おっす [03/09/18 19:29]
- なんとなくEmacs 触り始めて、なんとなくelispにも手を出して
しまったアナタ。 なんとなく書いてしまったコードをココに書き込んで叩かれましょう。 タタカレテツヨクナレ。 年季の入った玄人衆は、もしアドバイスできたらお願いします。 いや、叩きついでにでも。 とりあえず入門書は ttp://www.netfort.gr.jp/~kiyoka/emacs_setq/emacs_setq.html ttp://www.math.s.chiba-u.ac.jp/~matsu/lisp/emacs-lisp-intro-jp.html リファレンスマニュアルは(ちと古い) ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html とか、新しいのは(でも英語) ttp://www.delorie.com/gnu/docs/elisp-manual-21/elisp.html ではひとつ、コード中心の熱いバトルをよろぴく。
- 771 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 12:04:01 ]
- 誰かが別の場所でGPLで公開してるパッチを第三者が勝手に
2chに貼った場合とか
- 772 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 12:08:04 ]
- >>771
それのどこが問題?
- 773 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 12:18:33 ]
- そのパッチを本人がプロジェクトに寄付する気になったとき
とりこめるかどうか
- 774 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 12:46:56 ]
- 第三者が何かしたからといって、パッチ作製者の権利が失われるわけないじゃん。
そうでないなら、ML とかに流れてるパッチを 2ch に転載しまくるだけで そのプロジェクトの開発を妨害できちゃうよ。
- 775 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 13:08:30 ]
- 匿名サイトに置いてあるパッチを2chに貼った場合、
本人によるものか別の人によるものかも分かんねーしな
- 776 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 13:48:32 ]
- 強いて言えばパッチの作者に
「ヘンなシバリのある掲示板に勝手に貼るなよ」 って文句言われる可能性はあるな。
- 777 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 14:20:49 ]
- 文句言われる言われないはどっちでもいい。
問題はそのパッチをマージする事が可能かどうかだ。
- 778 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/03(金) 14:23:41 ]
- マージするかどうかは
開発元とパッチ作者との間の問題。 2ch に貼るのは 2ch 管理人と投稿者とパッチ作者の間の問題。 両者に関係はない。
- 779 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/04(土) 00:28:59 ]
- 続きはこちらで
ライセンスあれこれ pc8.2ch.net/test/read.cgi/unix/1032702590/
- 780 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/09(木) 19:58:10 ]
- ある変数に EUC-JP や Shift_JIS などの文字コードの文字列が入っている状態で、
その文字コードを UTF-8 に変換したい場合は、どうしたら良いのでしょうか?
- 781 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/09(木) 20:08:35 ]
- ccl
- 782 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/10(金) 22:12:33 ]
- >>781
ありがとう。 でも、全然使い方が分からないわ orz
- 783 名前:名無しさん@お腹いっぱい。 [2006/03/21(火) 09:49:25 ]
- こんなの見つけたお
ttp://www.okisoft.co.jp/esc/lecture/emacslisp.pdf 知識ゼロからのとっかかりにはいいんではないかと思う
- 784 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/21(火) 13:12:22 ]
- ほかにも「やさしい Lisp の作り方」とかあるね
ttp://www.okisoft.co.jp/esc/whitepaper.html あと、これは一部で有名だけど「美人プログラミングスタイル」とか
- 785 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 10:55:02 ]
-
以下の機能をmajar-modeに実装する方法でつまづいています。 「一行につき全角文字20文字まで、それを越えたら自動的に折り返して次の行へ」 行幅を全角20文字で整形したいだけなのですが・・・ truncate**系 とか fill-** 系とかの変数をうまく使えばいいのだろうかと試行錯誤しているのですが、錯誤ばかりで自滅気味です。わたしアタマワルイ。 だれか助けてー。
- 786 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 13:19:47 ]
- >>785
先に決め事が必要になる。 (1) 半角文字の扱い (2) 空白文字の処理 (3) 禁則処理(行頭、行末) まともにやると、かなりめんどい。
- 787 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/03/28(火) 13:39:20 ]
- >>785
単に (set-fill-column 40) (auto-fill-mode t) って話? >>786 みたいな問題もあるし 仕様を見直した方がいい気がする。
- 788 名前:ゼウス [2006/04/03(月) 13:19:19 ]
-
おい、お前等
- 789 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/12(水) 01:27:25 ]
- CやC++ファイルの編集での普通(gnuのモード)のインデントで、
字下げが少ない時はスペースでインデントしてくれるんですが、 tab幅以上の字下げの時にtabでインデントしてしまい困ってます。 これをスペースでインデントするようにするにはどうしたら良いでしょうか。
- 790 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/12(水) 02:11:47 ]
- (set-variable 'indent-tabs-mode nil)
(setq-default indent-tabs-mode nil) …10年以上使ってるけどこれでいいかな
- 791 名前:名無しさん@お腹いっぱい。 [2006/04/12(水) 08:06:40 ]
- eshell 上で mysql の返答 (standard output) がしっかり
表示されるようにするにはどうソースを修正したらいいか教えろ お前等ならわかるだろ
- 792 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 04:06:36 ]
- やっぱわかんねーのか。。。
eshell のソースはかなり複雑だから仕方ねーのかもな
- 793 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 08:33:53 ]
- わかるだろうけどおまえのためにわざわざ調べる気にはならんってだけ。
- 794 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 08:48:40 ]
- >>793
お前自分の言ってる事矛盾してる 知ってんだったら調べる必要ないだろが
- 795 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/04/14(金) 09:05:09 ]
- 調べればわかるんだろ
- 796 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 11:34:11 ]
- 各種*.confみたいな
項目: 要素 的設定ファイルを読み込んでalistに溜め込んで行くようなのを考えてるんですが なかなかすっきりしません。 一項目一要素でとりあえずいいんですが、 やっぱりなにかしらのバッファで開いてbuffer-substringしていくしかないんでしょうか。
- 797 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 23:30:31 ]
- しかないっつーかEmacsのファイル入力はバッファで開くのが普通なんだが。
- 798 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/11(木) 23:33:22 ]
- バッファで開かないでファイルをlispでストリームとして扱う方法ってあるの?
数百メガの巨大ファイルをいじるとき便利っぽいけど。
- 799 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 04:55:14 ]
- tmpなバッファにinsert-file-contents。
find-file-noselectするよりは処理が軽いそうな
- 800 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 05:10:22 ]
- >>798
Common Lisp な xyzzy ならできるが、Emacs は不可能。
- 801 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/12(金) 08:14:54 ]
- xyzzy は Common Lisp じゃない。cl ですら実装されてるのに
(mapcar (lambda (x) (typecase x (integer "整数") (string "文字列") (t "その他"))) '(10 3.3 "ほげ")) こんなのが動かないし。
- 802 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/13(土) 20:51:42 ]
- >>801
それだけ?他にもあるでしょ。おせーて。
- 803 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 11:40:22 ]
- -batch
で別個に動かすのはどうでしょう?
- 804 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/05/14(日) 14:05:01 ]
- >>798
insert-file-contents系で分けて読むとか、catあたりをstart-processしてfilterで読むとか。 テキストの場合マルチバイト文字の切れ目の処理が必要になるとちょっといやらしいかも
- 805 名前:名無しさん@お腹いっぱい。 [2006/06/24(土) 12:07:52 ]
- >>801
適当だけど。 (defmacro?typecase?(check?&rest?type-list) ??(let?((#1=#:case)) ???????(dolist?(item?(reverse?type-list)?#1#) ?????????(push?(if?(eq?(car?item)?t) ???????????????????`(t?,(cadr?item)) ?????????????????`((subtypep?(type-of?,check) ?????????????????????????????',(car?item)) ?????????????????????????????,(cadr?item))) ???????????????#1#)) ????(cons?'cond?#1#)))
- 806 名前:805 [2006/06/24(土) 12:12:09 ]
- あらら。。もう一回。
(defmacro typecase (check &rest type-list) (let ((#1=#:case)) (dolist (item (reverse type-list) #1#) (push (if (eq (car item) t) `(t ,(cadr item)) `((subtypep (type-of ,check) ',(car item)) ,(cadr item))) #1#)) (cons 'cond #1#)))
- 807 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/08/30(水) 05:12:50 ]
- 未編集のリードオンリーのバッファ上で、何かあるタイミングで、
recenter すると変更フラグが立つことがある。 という現象に遭遇した人いないですか、とか聞いてみようと思った。 が、recenter の前に、(sit-for 0) を入れたら解決したみたい。
- 808 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/15(日) 22:07:25 ]
- Emacs21とか22とかになると、デフォルトでいろんな機能が
組込まれてしまったので (occurとかgrepとか、検索もパワーアップしたり)、 新しい機能を作る機会が減って、最近このスレッドが寂しいのかなぁ、 などと思ったりした。 まとめサイトや紹介サイトも増えたしね。 ネタが出てくることを願って期待sage。
- 809 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/21(土) 21:51:36 ]
- ちまちまと一年以上かけて作ってきたが、とうとうやる気が無くなったので晒すテスト。
使い方はソース読んでくれ。 ttp://grinocat.googlepages.com/yawn.el
- 810 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/21(土) 23:01:47 ]
- ネ(・∀・)申!
- 811 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/22(日) 04:18:27 ]
- >>809
すげぇ。すげぇよ、あんた。
- 812 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/10/27(金) 01:00:59 ]
- w3みたいなもの?
動かせない(´;ω;`)
- 813 名前:<sage> [2006/11/06(月) 19:07:50 ]
- この板の趣旨とは、ちょっと内容がずれてますが、教えて下さい。
shell-command-to-string 関数を使って、perl を呼び出そうとしていますが、 日本語引数を渡すとどこの段階でか分かりませんが、文字がばけます。 (shell-command-to-string "c:/Perl/bin/perl.exe e:/work/0my/scripts/test.pl てすと表示") で、「test.pl」 では、 my $outfile = "e:/work/0my/scripts/test.txt"; my $out; open ($out, "> $outfile") || die ("couldn't open $outfile to write into."); print ($out $ARGV [0]); close($out); で、"test.txt" を shift_jis とかで開いても化けています。 DOS 上で日本語引数は、問題なく処理されるので、Elisp から、 perl に渡されるときに壊れると解釈していますが、どうすればいいのでしょう?
- 814 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/06(月) 21:51:47 ]
- >>813
> perl に渡されるときに壊れると解釈していますが、どうすればいいのでしょう? 表の後に\を付ける、とか?
- 815 名前:sage [2006/11/07(火) 00:20:27 ]
- >>814
レスサンクス。 表のあとに\マークってことは、「てすと表\示」って感じにですか? 日本語文字は何を入れてもだめなので、それでもだめだと思います。 気になるのは、エンコーディングがどうやって認識されるかです。 elisp -> shell -> perl と引数として指定された文字列が渡されると思いますが、 このプログラム間のエンコードは、どうやって指定するのかが、よく分かりません。 おそらく日本語 OS 下では、デフォルトが shift_jis になると思いますが、 これは、elisp からシェルの間も同じかな?
- 816 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/07(火) 00:31:14 ]
- process-coding-system とか coding-system-for-write とか?
- 817 名前:名無しさん@お腹いっぱい。 [2006/11/07(火) 00:45:40 ]
- >>816 さんありがとう
(setq coding-system-for-write 'sjis) でうまくいきました。m(_ _)m
- 818 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/07(火) 00:48:11 ]
- >>817
letで束縛 ttp://www.fan.gr.jp/~ring/doc/elisp_20/elisp_33.html#SEC542
- 819 名前:名無しさん@お腹いっぱい。 mailto: [2006/11/07(火) 01:04:52 ]
- >>818
この変数に対して値をグローバルに設定すべきではないということですね。 了解、let を使います。
- 820 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/13(水) 14:58:06 ]
- emacs上でschemeの勉強しているんですが、
emacsのコメント行のインデントのしかたが気に入らないので 直したいと思っているのですが、 どこから始めたらいいのか、 さっぱり分かりません。 とりあえず scheme-modeが定義されている場所の調べ方を教えていただけませんか?
- 821 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/12/13(水) 15:38:18 ]
- >>820
> scheme-modeが定義されている場所の調べ方を教えていただけませんか? find-function > emacsのコメント行のインデントのしかたが気に入らないので 確かに comment-dwin は腐ってるからな
- 822 名前:名無しさん@お腹いっぱい。 [2006/12/14(木) 22:57:50 ]
- >>820
つ Gauche
- 823 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:16:27 ]
- 初歩的な質問で聞き難いのですが教えて下さい。
バッファ中の文章の特定の文字を置き換えるようなコードを 作りたいのですが、condを使うのかifとprognを使うのかよく分かりません。 たとえば、文章中の”Red Hat”なら”赤帽”、”Vine”なら”葡萄”、”Windows”なら ”窓”というようにバッファ中の文章を変えたいです。
- 824 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:19:30 ]
- >>823
replace-stringじゃだめなん?
- 825 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:26:41 ]
- 複数の文字列を一括して置換とかかな
- 826 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:33:07 ]
- >>824
検索関数(search-forward)などでマッチした文字列を replace-matchなどで変えようと思ったのですが、条件分岐が よくわからなくて・・・ >>825 たぶん、そんな感じです。
- 827 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:36:59 ]
- まずは仕様をきっちり決めれ。
「たぶん、そんな感じ」じゃなんだかわからん。
- 828 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 02:42:02 ]
- 基本事項なんだぜ?
(info "(elisp)Conditionals") (info "(elisp)Combining Conditions")
- 829 名前:名無しさん@お腹いっぱい。 [2007/01/14(日) 02:49:31 ]
- ありがとうございます。もう少し読んでみます。
- 830 名前:823 mailto:sage [2007/01/14(日) 03:25:03 ]
- レス下さった方々、どうもありがとうございました。
非常に無駄な処理をしていますが、望む結果が得られました。 (defun change-font () (interactive) (let ((p (point))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Led Hat" nil t) (replace-match "赤帽") (forward-line 1))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Vine" nil t) (replace-match "葡萄") (forward-line 1))) (goto-char (point-min)) (while (not (eobp)) (if (search-forward "Windows" nil t) (replace-match "窓") (forward-line 1))) (goto-char p))) 過去ログ読んで勉強してきます。
- 831 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 05:53:52 ]
- 一行に2回出てきたらだめじゃね?
- 832 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 11:47:06 ]
- 検索語を \\| で分けて match-string で抜き出し cond で振り分けろ
- 833 名前:823 mailto:sage [2007/01/14(日) 13:38:34 ]
- >>831
いえ、ちゃんと置き換えてくれました。 >>832 ご教授ありがとうございます。しばらくにらめっこします。
- 834 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/14(日) 14:59:07 ]
- 教授じゃなくて教示
- 835 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/15(月) 00:23:16 ]
- > >>833
> > 一行に2回出てきたらだめじゃね? >>831 > いえ、ちゃんと置き換えてくれました。 ホントに? 試していないけど VineVine とかいう行があったらダメっぽく見える。
- 836 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/15(月) 01:09:45 ]
- `XWindows' も `X窓' になりそうだし、`divine' も `di葡萄' になりそう。
(後者は `case-fold-search' の値によるけど)
- 837 名前:823 mailto:sage [2007/01/15(月) 19:50:39 ]
- >>835
>>836 ご指摘ありがとうございます。例外処理(?)を考えていませんでした。 まだ>>832さんの方法で出来ていないしどんだけバカなんだろ私・・・
- 838 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 06:46:15 ]
- 自分で頑張れてるのだから、頭が悪いとは思わないけどな。
やりつけないことは何でも最初は大変だ。 >>832, >>836とも正規表現が必要だし。 まず>>830の改善点としては(forward-line 1)、これは置換が終わったら次へ進む ってことで入れたのだろうけど、次の行じゃなくて置換したテキストの直後に 移動すれば十分な筈。ところがreplace-match自身が Leave point at the end of the replacement text. という動作をしてくれる。 >>836は、正規表現を使うと「単語の先頭」という位置にだけ合うパターンが 使えるのでそれを使う。必要なら同様に「単語の末尾」というのも使える。 正規表現による検索はre-search-forward. ここまでで一応、要求は満たされるんじゃないのかな。 >>832は正規表現を使うと「AまたはBまたはC」にマッチするパターンというのが 書ける。それで検索して、その後でそれがAだったかBだったかCだったかを調べ、 対応する文字列(A'なりB'なりC'なり)に置換するという方法。 これだとバッファの先頭から検索を始めるのが一回で済む。
- 839 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 08:06:14 ]
- save-excursion も教えたれよ。
- 840 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 10:05:53 ]
- replace-regexp を使う。
- 841 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 11:37:35 ]
- >>840
This function is usually the wrong thing to use in a Lisp program.
- 842 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 12:59:54 ]
- (defun foo (alist)
(let ((regexp (regexp-opt (mapcar #'car alist) 'words)) (table (make-hash-table :test 'equal)) (normalize (if case-fold-search #'downcase #'identity))) (dolist (pair alist) (puthash (funcall normalize (car pair)) (cdr pair) table)) (save-excursion (while (re-search-forward regexp nil t) (let ((new (gethash (funcall normalize (match-string 0)) table))) (replace-match new))))))
- 843 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 15:22:17 ]
- ほとんどの漢字も普通にword syntaxだから全然だめだな
- 844 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/16(火) 16:47:50 ]
- 俺、elispでハッシュとか使ったことねーや
- 845 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 00:50:09 ]
- オレも make-hash-table ってのははじめてみたけど、
elispのハッシュってのはcdr要素数1のalistと解釈して、だいたいおk?
- 846 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 01:15:55 ]
- 論理的にはOKだけど、計算量がぜんぜん違うよ?
何かアルゴリズムの入門書を読んだほうがよさげ
- 847 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 02:15:15 ]
- 最近知ったんだけど、バイトコンパイルした結果って
直接実行もできるんだね。 (defun fn(x) (* x 2)) (byte-compile 'fn) #[(x) "\211\\\301\\\207" [x 0] 2] (#[(x) "\211\\\301\\\207" [x 0] 2] 10) 20
- 848 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 05:48:58 ]
- ワロタ
つくづくエディタなんだな
- 849 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 06:23:03 ]
- つまらん
- 850 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 14:28:00 ]
- お前等の中にシリコンバレーで働いてる人いる?
- 851 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 23:10:28 ]
- emacsで文字のフォントの大きさを変えるにはどうしたらよいですか?
- 852 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/17(水) 23:41:26 ]
- もしemacs lispがstatic scopeだったら果たしてどうだったろうか
- 853 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/01/21(日) 00:40:22 ]
- >>851
fontset
- 854 名前:名無しさん@お腹いっぱい。 [2007/03/28(水) 18:57:13 ]
- (゚Д゚≡゚д゚)
- 855 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/29(木) 01:39:37 ]
- >>854
うちの .Xdefault には, 未だに > Emacs.Font: fontset-12 bold > Emacs.Fontset-0: -shinonome-gothic-bold-r-*-*-12-*-*-*-*-*-fontset-12 bold > Emacs.Fontset-2: -shinonome-gothic-bold-r-*-*-14-*-*-*-*-*-fontset-14 bold ... > Emacs.Fontset-11: -shinonome-gothic-medium-r-*-*-24-*-*-*-*-*-fontset-24 medium てなものが残ってて機能しているが...
- 856 名前:名無しさん@お腹いっぱい。 [2007/04/12(木) 10:48:03 ]
- emacs ilspでwebプログラミング可能?
- 857 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:29:20 ]
- >>856
「webプログラミング」っていうとどの辺の話?
- 858 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:45:50 ]
- ttp://www1.odn.ne.jp/ymtz/tips.html#wwwsvr
こういうことだったりして
- 859 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 11:57:35 ]
- AllegroServe とかそういう話かなぁ。
elisp じゃないけど。
- 860 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 13:32:42 ]
- elservなんてのがあったなー。
もっとまともなのも多分あるだろうけど興味無いので知らない。
- 861 名前:名無しさん@お腹いっぱい。 [2007/04/12(木) 15:16:27 ]
- emacsがwebサーバーになるのですね。もはやなんでもありですね。
elispはphpで作成するのと同様のwebプログラミングは可能でしょうか? 掲示板とか、アンケートなど。
- 862 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/12(木) 15:18:15 ]
- >>861
アクセスのたびに Emacs 呼ぶってこと? まぁ不可能じゃないんじゃね。 やる気は起きないけど。 >>859 じゃだめなん?
- 863 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 04:31:21 ]
- 単純にphpスクリプトを書けるか?と聞けば
遊ばれずに済んだであろう>>861
- 864 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 09:45:15 ]
- そういう質問じゃないっしょ。
- 865 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/04/13(金) 15:06:43 ]
- >>861
もちろん同様のことは可能。もちろん同様にはできないけどな。
- 866 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 16:17:55 ]
- 定期的に M-x hoge を実行するにはどうしたら良いのですか?
答えが駄目なら、誰かヒントだけでも教えてくれないでしょうか。
- 867 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/13(日) 17:55:49 ]
- timer
- 868 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 01:21:02 ]
- 23
という数値を16進数数値として扱い、 "35"にする方法はどんなのがあるでしょうか? (let ((n 23)) (format "%d" (string-to-number (number-to-string n) 16))) これは思いつきましたが、もちょっと簡単にならんかな、と。
- 869 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 06:39:30 ]
- じゅうぶんかんたんだとおもう
- 870 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 10:48:34 ]
- >>868
#x23
- 871 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 11:08:26 ]
- >>868
なんで元が数値なんだろ。 3a とかの入力は考えなくていいの?
- 872 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/15(火) 20:18:46 ]
- >>870
(read (concat "#x" n)) か。なんかびみょーに感じる。この表記がいけるのってemacs21以降あたり?
- 873 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/16(水) 00:01:09 ]
- 数値を concat できたのか…
- 874 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/16(水) 00:22:21 ]
- ごめん。emacs21からはムリなはず。
- 875 名前:866 mailto:sage [2007/05/20(日) 00:46:22 ]
- 駄目だ分からない。
run-at-time 使おうにも hoge をどう指定したら良いのか不明……lisp は難しい orz 例えば、.emacs にどう書けば、自動で M-x hoge できますか? ; emacs の引数から起動するのではなくて。 あとは、start-process と while と sleep-for 辺りを組み合わせれば可能な気はするんだけど……さっぱり orz 週末に数時間しか PC に触れられないのは、現代社会をは思えない環境 orz
- 876 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 00:52:00 ]
- run-with-timer 使うんじゃないの?
何がわからないのかがよくわからない
- 877 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 00:53:00 ]
- もしかして M-x から指定してるものが関数名だってことを知らないとか?
- 878 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 03:58:00 ]
- (setq hoge-timer (run-with-timer 0 1 'hoge))
(defun hoge () (interactive) (message (current-time-string))) (defun hoge-cancel () (interactive) (cancel-timer hoge-timer)) M-x hoge =>Sun May 20 03:56:18 2007
- 879 名前:lispp? [2007/05/20(日) 14:40:44 ]
- LISPを学習して1週間目の者ですが、
(progn (setq wara 10) (setq waru 0) (/ wara waru) ) でエラーが発生します。 (if (equal waru 0)...)でなくて、catch??? throw???のような例外処理で対応したいのですが、 可能でしょうか?
- 880 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 14:50:53 ]
- >>879
shakosv.sk.tsukuba.ac.jp/ShakoDoc/Editors/NEmacs/elisp-jman/html/eljman_104.html
- 881 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 17:00:06 ]
- >>879
condition-case elisp.infoのControl Structuresを参照。 Lispではcatch/throwの例外処理とsignal/condition-caseのエラー処理は別物 である点に留意されたし。
- 882 名前:名無しさん@お腹いっぱい。 [2007/05/20(日) 17:12:06 ]
- xyzzy使っているのですが、 condition-caseで関数がないと表示されます。
- 883 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 17:17:31 ]
- 板違い
- 884 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 20:48:43 ]
- EmacsでのLispのプログラムについての質問です。
リストAとして((a b c) (d e f) (g h i))というリストがあるとして、このリストの中の要素であるリストの 最後の要素を返す関数を作る場合どうしたらいいでしょうか?
- 885 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 21:33:40 ]
- >>884
各要素の cdr を見ていって、それが nil なものを返せばいいんじゃないの。 そういう話でない?
- 886 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 21:37:09 ]
- >>884
(car (last (car (last '((a b c) (d e f) (g h i))))))
- 887 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 21:47:12 ]
- 884の補足ですが、
リストAを引数として(c f i)を返すような関数を定義したいのです。 また、リストAの要素がもっと多い場合にも対応できるようにしたいのです。
- 888 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 21:52:54 ]
- >>887
(mapcar (lambda (x) (car (last x))) A)
- 889 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 22:00:23 ]
- >>888
見たことないコマンドが多いのですが・・・。 初心者なのでもう少し分かりやすくしていただけるとありがたいのですが。
- 890 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 22:16:26 ]
- 標準の関数くらい自分でしらべろよ。
- 891 名前:名無しさん@お腹いっぱい。 [2007/05/28(月) 22:17:51 ]
- そういった関数を使わないで定義したいんです。
- 892 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/28(月) 23:42:03 ]
- lambda とか mapcar 使わないで lisp のプログラム書くのは
逆に難しいと思うぞ。
- 893 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:06:38 ]
- それは無理な話だ
- 894 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:08:04 ]
- ごめん
>>893は>>891へね
- 895 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:11:56 ]
- おk。mapcar も lambda も car も廃止してやったぞ。last は使わせてくれて…
(require 'cl) (defun fun-887 (lst) (loop for element in lst collect (first (last element)))) last も禁止ならこうだ。 (require 'cl) (defun fun-887 (lst) (loop for element in lst collect (first (reverse element))))
- 896 名前:名無しさん@お腹いっぱい。 [2007/05/29(火) 00:16:23 ]
- >>895ありがとうございました
もう一つ聞きたいのは、数nとリストを引数として取り、 リストのn番目の要素を返す関数を定義したいのですが、 この関数を再帰を使って定義するにはどうしたらいいでしょう
- 897 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:24:12 ]
- (defun list-ref (lis n)
(if (zerop n) (car lis) (list-ref (cdr lis) (- n 1))))
- 898 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:43:50 ]
- んー?
ttp://questionbox.msn.co.jp/qa3033199.html
- 899 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 00:46:01 ]
- 最近なんでもかんでも聞く人多くない?
- 900 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 01:19:24 ]
- mapcar を独自に定義しようとするとどう書ける?
- 901 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 01:29:48 ]
- >>896
再帰使うまでもない。 (defun list-ref (lis n) (nth (1- n) lis))
- 902 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 01:52:11 ]
- (defun my-mapcar (func list)
(let ((rest list) (results ())) (while (not (null rest)) (setq results (cons (funcall func (car rest)) results)) (setq rest (cdr rest))) (nreverse results))) とかかな。
- 903 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:01:06 ]
- setq とか cons を使いたくないんですとか来た場合に備えておこう。
(require 'cl) (defun my-mapcar-2 (func lst) (loop for elem in lst collect (funcall func elem)))
- 904 名前:名無しさん@お腹いっぱい。 [2007/05/29(火) 02:04:56 ]
- >>898 つうか、そゆのは大抵自分では考えないだろうし、調べないだろうし、向上心もないだろうし、礼儀も知らないだろうし、
人の忠告も聞かないだろうから。さっさと答を与えればそれ以上しつこく聞いてこない軽い荒らしだと思って対応するが吉。
- 905 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:05:17 ]
- cl は宗教上の理由でちょっと……。
- 906 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:09:23 ]
- 自分も書いてみた。リストしか考慮してない。
あんまり慣れてないからどっかまずいところあるかも・・・(自分への免罪符 (defun my-mapcar (func list) (defun my-mapcar-iter (func list rtn) (if (null list) rtn (my-mapcar-iter func (cdr list) (setq rtn (cons (funcall func (car list)) rtn))))) (my-mapcar-iter func list '()))
- 907 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:11:39 ]
- defunの中でdefunするのはじめて見た。
- 908 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:11:55 ]
- あー、 reverse すんの忘れたorz
- 909 名前:名無しさん@お腹いっぱい。 [2007/05/29(火) 02:18:25 ]
- Schemer の方ですか? Emacs Lisp じゃー再帰は実用的じゃないお。
しかも defun は internal define と違ってグローバルだし…。
- 910 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:23:05 ]
- >>898の質問者はもうダメだろうね。レポートは突破できても試験は無理そうだ……。
授業二三回でればいいだろうになぁ。まったく聞いてなかったんだろうな。授業料無駄だったね。
- 911 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 02:58:34 ]
- >>909
最近、ちょっと scheme で遊んでたもので・・・。 > Emacs Lisp じゃー再帰は実用的じゃないお。 調べてみたところ、再帰回数が max-lisp-eval-depth で制限されてる、 末尾再帰が最適化されない、のようなことがあるのですね。 > しかも defun は internal define と違ってグローバルだし…。 M-x help f で関数のリスト見たら、my-mapcar-iter があって驚きました。 よくよく考えてみたら、setq はいらなかった。 なんでつけたんだろう。 まずいところ多すぎorz
- 912 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 07:07:10 ]
- >>905
改宗すればおk
- 913 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 10:07:37 ]
- cl 使えば flet で関数内関数使えるよ。
- 914 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 12:55:46 ]
- flet を使って書き直すなら、こんなかんじでしょうか。
たしかに my-mapcar-iter が隠れた。これ便利かも。 (require 'cl) (defun my-mapcar (func list) (flet ((my-mapcar-iter (func list rtn) (if (null list) (reverse rtn) (my-mapcar-iter func (cdr list) (cons (funcall func (car list)) rtn))))) (my-mapcar-iter func list '())))
- 915 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 22:24:57 ]
- …再帰するなら labels じゃねーとダメなんじゃね? cl のバグ?
ズバリこうだろ。while 版より短い!! 俺のバイク小屋ハァハァ (defun my-mapcar (func lst) (let ((result nil)) (dolist (e lst) (push (funcall func e) result)) (nreverse result)))
- 916 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/29(火) 22:27:10 ]
- なんとなく nreverse なしのループで書いてみた
(defun my-mapcar (fun list) (let* ((result (list nil)) (x result)) (while list (setcdr x (list (funcall fun (car list)))) (setq x (cdr x) list (cdr list))) (cdr result))) >>915 flet を macroexpand してみればわかるよ まあしょうがないんだろうけどちょっと気持ち悪いよね
- 917 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/02(土) 08:50:13 ]
- ずびまぜん。
elispで 16進数文字列を整数に変換する楽な方法ってありません? (hoge "64") => 100 ってなるような。 (defun hoge (s) (string-to-number (concat "#x" s))) とかじゃ 0が返ってきてしまいました。
- 918 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/02(土) 08:59:28 ]
- (defun hage (s)
(string-to-number s 16)) ↓ (hage "64") ↓ 100 ウマー
- 919 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/02(土) 09:16:44 ]
- おお、そんなところに &optional があったとは...
infoをもっとちゃんと読むべきでした。 どうも有難うございました。
- 920 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/02(土) 16:36:52 ]
- >>868-
- 921 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/02(土) 21:22:45 ]
- 知ってる人も多いだろうけど C-h f めちゃくちゃ便利だよ。
関数定義してるソースの該当部分にも飛べる。
- 922 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/03(日) 00:27:47 ]
- emacs22でも、mode-infoも動いてくれるしね。
- 923 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/10(日) 19:00:25 ]
- あるオブジェクトに対し、car-safeが非nilとなる時
cdrでなくcdr-safeを使うべき局面ってある?
- 924 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/10(日) 23:36:38 ]
- >>923
car-safe が non-nil なら対象は list ってことだから、そんな局面はない、 と思う。
- 925 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 22:28:03 ]
- 同じ名前の変数 (defvar hoge)と関数 (defun hoge ())が定義されているとき、
変数だけ定義を消すことってできますか? (unintern 'hoge) だと、両方消えてしまうので。
- 926 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 22:36:59 ]
- makunbound
c.f. fmakunbound
- 927 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 22:45:39 ]
- ぬりがとう。
ところでこれ何て読むのですか? (エフ)メイク・アン・バウンドでいいんかな? 思い出されるcreat()。
- 928 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/27(水) 23:18:45 ]
- >ところでこれ何て読むのですか?
なんでしょうね? >思い出されるcreat()。 なるw
- 929 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/29(金) 01:06:36 ]
- defconstしてるものには、時に大文字のシンボルを使ってみるのも一興かなと
ふと思った。 たぶんウザいだろうけど。
- 930 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/07(火) 22:22:42 ]
- EmacsがXで動いているときだけ、
C-zでアイコン化しない様にしたいと思っています。 Xで動いているのかterminalで動いているのか判別するには どうしたらよいのでしょうか。
- 931 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/07(火) 22:29:27 ]
- window-system
- 932 名前:930 mailto:sage [2007/08/07(火) 22:33:57 ]
- >931
ありがとうございます。 とりあえず、 (if window-system (global-set-key "\C-z" 'shell)) としてみました。
- 933 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/21(火) 05:23:38 ]
- M-x shell
を.emacsファイルの読み込み時に動作させるにはどうしたらよいのでしょうか。
- 934 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/21(火) 10:02:38 ]
- 本当に文字通りそうしたいのならば
(shell) と書く。
- 935 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/21(火) 12:13:59 ]
- >>934
できました。ありがとうございました。
- 936 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 17:18:02 ]
- (global-set-key [?\C-;] 'なにか)
とか (global-set-key "\C;" 'なにか) とやってもエラーがでて動きません。 ;をjにしたら動いたので”なにか”が間違っていることはいないと思います。 C-;やC-, C-. へのバインドを指定するにはどうしたらよいのでしょうか どなたか教えていただけないでしょうか?
- 937 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 19:00:19 ]
- [(control ?;)]
設定程度の質問なら、次回からelispスレじゃなくてemacsスレ行きな。
- 938 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 21:58:08 ]
- >>937
ありがとうございます 今後は気をつけます どうもすいませんでした そのようにしても動きはしませんでしたが、 それはターミナルからの接続の仕様らしいと分かったので、 別のキーを割りあてることにします
- 939 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 22:06:20 ]
- man ascii
で出てくるコントロールコード以外の コントロールキーの組み合わせ以外は 端末じゃ動かないよ。
- 940 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/26(日) 22:09:03 ]
- まちがえた。以外が一つ多かった。
- 941 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 01:55:47 ]
- (func "/usr/bin/emacs" "/")
=> ("usr" "bin" "emacs") こんな感じで、文字列からトークンを抽出する好い奴を 何方か識りませぬか?
- 942 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 02:03:17 ]
- 普通に1文字ずつチェックすれば良いじゃない。
- 943 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 03:14:56 ]
- split-string
- 944 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/08/28(火) 19:47:13 ]
- >>943
幸あれ。 やっぱりあるよね。token で探してたよ >>942 普通?とりあえずこんなん書いてた (lambda (string delimiter) (let* ((iter (lambda (str dlm lst) (if (and (string-match dlm str) (substring str (1+ (string-match dlm str)) nil)) (funcall iter (and (string-match dlm str) (substring str (1+ (string-match dlm str)) nil)) dlm (cons (substring str 0 (string-match dlm str)) lst)) (cons (substring str 0 (string-match dlm str)) lst))))) (funcall iter string delimiter ())))
- 945 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/27(土) 01:27:05 ]
- 下記のような独自スクリプトのメジャーモードを作っています。
function: if hoge == 0 { hogehoge; } elseif hoge ==1 { if hoge2 == 0 { hogehoge2; }else{ hogehoge3; } } end; 階層は上記のif文のみです。 自動インデントをつけたいのですがどうすればいいでしょうか?
- 946 名前:945 [2007/10/28(日) 08:47:43 ]
- 補足です。generic-x.elを使って作っています。
- 947 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/30(火) 10:08:00 ]
- buffer-local-variableなるものがあるそうですが、
.emacs.elなどでsetq-defaultで設定した値は、 新しいバッファを作る度にバッファごとの値のコピーが作られてしまうんでしょうか。 カスタマイズ性から見るとsetq-defaultの方が使い易そうなのですが、 パフォーマンスに悪影響がでないか心配なんです。
- 948 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/10/30(火) 20:29:39 ]
- make-variable-buffer-local されてるような変数の話だよね。
これは setq とかで書き換えた時点で、その buffer に local な変数が作られるってシステム。 書き換えるまではどの buffer でも初期値を参照してて、 setq-default はこの初期値を書き換える。 それ自体がコピーの原因になったりはしないはず。
- 949 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 08:26:40 ]
- call-processとかの外部コマンド呼び出し関数で
コマンドの出力(標準出力)を文字列もしくは文字列リストで 返すようなものってないでしょかね? いちいちバッファに出すのがとても無駄に感じる時がある
- 950 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/16(金) 22:17:04 ]
- set-process-filter
- 951 名前:名無しさん@お腹いっぱい。 [2007/11/29(木) 10:04:56 ]
- みなさん、乙です。
コードの中で読み易さを上げるためダブルクオート中の文字列を改行して書きたいのですが、 その改行自体はコード上では無効にしたいのですが、どうすればいいですか? 例 (message " listA, listB, listC") これが以下のようにmini-buffer に出力して貰いたいのですが、 listA,listB,listC そんな方法ありますか?
- 952 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/29(木) 11:08:37 ]
- >>951
(message (concat "listA," "listB," "listC"))
- 953 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/29(木) 12:39:04 ]
- >>951
(message "\ listA,\ listB,\ listC")
- 954 名前:名無しさん@お腹いっぱい。 [2007/11/30(金) 05:59:54 ]
- >>952, 953
サンクス。C と同じことできたのね。試せよオレ。
|

|