[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/25 03:24 / Filesize : 216 KB / Number-of Response : 877
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Part 39



1 名前:名無しさん@お腹いっぱい。 [2011/11/29(火) 17:50:44.24 ]
前スレ

Emacs Part 38
hibari.2ch.net/test/read.cgi/unix/1308635178/

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 21:14:40.45 ]
>>615
それなら普通にブラウザ使う方がいい。

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 21:56:44.63 ]
>>612
RHEL6のx64でまともに動かんかった
emacsが悪いのか外部が悪いのかよく分からん
4文字の単語を退いたときだけ駄目とか変な挙動いろいろで調べる気が起きん

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:02:12.17 ]
>>616
むしろブラウザだけでいい

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:21:01.13 ]
firefox+keysnailにファイルエディット機能つければemacsの代わりに使えるんじゃね?

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:25:56.90 ]
むしろfirefoxにemacsを組み込んだ方が

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:34:39.67 ]
ブラウザにEmacs組み込むのと
Emacsにブラウザ組み込むのどっちが楽だろう

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:42:25.03 ]
>>621
後者は既出感が…

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:44:19.10 ]
ちゃんとJavaScript 解釈してかつ elisp からブラウザの状態弄れるのがいいなあ

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/08(日) 22:48:48.36 ]
なんか面白い elisp ないかしらん



625 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 01:29:57.86 ]
>>624
seimei.el
tako.el
trr.el


626 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 01:43:55.29 ]
なんであれだけ発行部数出てないんだろうねぇ。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 02:55:49.39 ]
>>621
Javascript PC Emulator
ttp://bellard.org/jslinux/

で、ブラウザ上でQEmacsが使えます。

~ # which emacs
/usr/bin/emacs

~ # ls -l /usr/bin/emacs
lrwxrwxrwx 1 root root 2 May 14 2011 /usr/bin/emacs -> qe

~ # ls -l /usr/bin/qe
-rwxr-xr-x 1 root root 108240 May 16 2011 /usr/bin/qe

~ # strings /usr/bin/emacs | fgrep -i version
QEmacs version 0.3.1, Copyright (c) 2000-2003 Fabrice Bellard


628 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 03:17:21.81 ]


【スタッフ募集】路線名を擬人化させたエロゲ【鉄オタも】
hayabusa.2ch.net/test/read.cgi/news4vip/1326032146/

【wiki】
www38.atwiki.jp/train_erog/

【避難所】
jbbs.livedoor.jp/game/54004/

629 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 08:39:46.95 ]
>>625
tako.el みて普通に日本語のシンボル名作れることに驚愕した

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:53:58.93 ]
関数の中で直接呼び出されている関数*だけ*置き換える方法ってありませんでしょうか?

(defun greeting (msg who) (message "%s, %s" msg who))
(defun hello (who) (message "===hello===") (greeting "hello" who))

みたいになっている時、 hello の中で直接呼ばれてる message だけ置き換えたいのです。
flet を使うと greeting の中の message まで置き換えられてしまいます。

関数定義をそのまま引っ張ってきて書き換えたものを再定義したり fset したりする以外に方法はありませんでしょうか?


631 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:58:14.67 ]
関数を around アドバイスして flet ってやったらできないんだっけ?


632 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 12:58:40.71 ]
あ、馬鹿なこと言ったごめ。

633 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 13:57:27.13 ]
全然うまい方法が思いつかなかったので、じゃあせめて置き換え後の関数で
呼び出し元の関数を判断して挙動を変えようと思ったのですが、
今度は呼び出し元の関数の調べ方がわかりません。

b.hatena.ne.jp/IMAKADO/elisp/callee/ とかは見つかったんですが
肝心のリンク先が壊れて見れないという・・・トレースとか書いてあるから
バックトレースの内容を参照するってことなんでしょうかね・・難しい。

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 14:42:51.45 ]
なんかものすごく力技な感じになりましたが一応実装できたので貼っておきます。
なんかもっとスマートな方法はないのか・・・・

(defun greeting (msg who) (message "%s, %s" msg who))
(defun hello (who) (message "===hello===") (greeting "hello" who))

(defun callee ()
"呼び出し元の関数名を文字列で返す"
(let ((bt (split-string (with-output-to-string
(backtrace)) "^ *\\|\n" t)))
(while (and bt
(not (string-match "^callee\\>" (pop bt)))))
(cadr bt)))

(defadvice hello (around ad-hello-no-heading activate compile)
"hello が直で呼び出している message だけ ignore に置き換える"
(let ((org-message (symbol-function 'message)))
(flet ((message (format-string &rest args)
(if (string-match "^ad-Orig-hello\\>" (callee)) ;; advice の場合は ad-Orig-* になる
(ignore)
(apply org-message format-string args))))
ad-do-it)))




635 名前:597 mailto:sage [2012/01/09(月) 16:29:31.21 ]
>>598-599 >>607
ありがとうございます。
indent-line-function等で制御するよりも>>607を改変すればよさそうだと思いました
ですが改変がうまくいきません

  if (x>0) {
    proc1()
    proc2()
  } else if (x<0) {
    proc3()
    proc4()
  } else {
    proc5()
    proc6()
  }

こういう風に自動的にインデントさせようとして
www.gnu.org/software/emacs/manual//html_node/elisp/SMIE-Grammar.html#SMIE-Grammar
の("then" insts "end")を("{" insts "}")、
("if" exp "then" inst "else" inst)を("if" exp inst "else" inst)、
(insts (insts ";" insts) (inst))を(insts (insts insts) (inst))、
に書き換えましたが、{を入力してC-jを押すと(newline-and-indent)
(wrong-type-argument integer-or-marker-p nil)
とエラーが出ました
このif (test) {procs} else if (test) {procs} else {procs} を
(procsは改行区切りです)
インデントさえできればいいのですが
どうすればよいでしょうか


636 名前:597 mailto:sage [2012/01/09(月) 16:39:18.77 ]
あと、調べていて気づいたのですが
www.emacswiki.org/emacs/IndentingC#toc1
このcc modeをdefine-generic-modeで作成したモードで
使えればよさそうだと思いました
というのも整えようとしているのがc++ likeのコードに似ているからです
上のsmie改変がうまくいかないときにはこれで十分です

define-generic-modeで作成したモードの初期化部分で
このcc modeの機能を利用することはできるでしょうか

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 16:39:19.97 ]
ちなみにサンプルの設定ではうまく動いたの?

smieって何やってるのかわからなかったけど
smie-setup で indent-line-function 設定してるのな。
ちょっと真面目に使い方勉強してみるか。

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 16:40:28.70 ]
>>636
特定のモードを元にモードを作る場合は
define-derived-mode を使うといいよ。

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 17:09:57.88 ]
>>635
"}"とかが token として認識されてないんじゃないの?


640 名前:597 mailto:sage [2012/01/09(月) 17:50:59.31 ]
>>637
はい。サンプルは動きました。↓の各セクションから以下の設定をコピペして
www.gnu.org/software/emacs/manual//html_node/elisp/SMIE.html#SMIE
(eval-when-compile (require 'cl))
(require 'smie)
(defvar sample-smie-grammar
(defvar sample-keywords-regexp
(defun sample-smie-forward-token ()
(defun sample-smie-backward-token ()
インデント分をこう設定し
(defvar sample-indent-basic 4)
メジャーモードを作成する (define-generic-mode の初期化部分で
(list (function (lambda () (add-hook 'hoge-mode-hook (lambda ()
(smie-setup sample-smie-grammar #'sample-smie-rules)
と書きました。
あと、>>635の(insts (insts ";" insts) (inst))は書き換えないままでした
書き換えるとエラーになります すみません

>>639
確かにtokenの設定が抜け落ちていました。ですが
(defvar sample-keywords-regexp
(regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "="))) を
(defvar sample-keywords-regexp
(regexp-opt '("+" "*" "," ";" ">" ">=" "<" "<=" ":=" "=" "{" "}" "(" ")")))
に書き換えましたがだめでした

>>638
なるほど、ただキーワードの色づけ設定は引き継ぎたくないのでdefine-gereric-modeで設定しました
インデントとキーフックのみ特定のモードを引き継ぐという機能があればいいのですが

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 18:02:41.16 ]
>>640
自分とこでちょっと動かしてみたいけど長そうだから
↓ここにコピペしてURL教えてくれ
paste.lisp.org/new/emacs

642 名前:597 mailto:sage [2012/01/09(月) 19:05:20.29 ]
書きました
paste.lisp.org/display/126938
よろしくお願いします


643 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 19:42:06.40 ]
うおお、難しい
とりあえずコメントの ';' と 区切り文字の ';' が干渉してるのと
sample-smie-forward-token で a+b みたいなのが一気に通過しちゃうのが気になったけど
じっくり取り組まないとわからんなあ・・・

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/09(月) 21:32:24.24 ]
サンプルのまんまで実行しても emacs 23 では wrong-type-argument が出るねえ。
emacs 24 で実行するとエラーは出ないけどちゃんと動いてるような感じがしない。
サンプルそのままで実行してもぶら下がりelseがちゃんと処理できてないように見えるなぁ。



645 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 00:11:10.77 ]
>>629
skk に含まれてる skk-ja-names.el とか見てみろよ。
こんなだぞ。

(defalias 'SKKモード 'skk-mode)
(defalias 'SKKのバージョン 'skk-version)
(defalias 'SKKのバグを報告する 'skk-submit-bug-report)
(defalias 'SKKのチュートリアル 'skk-tutorial)


646 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 11:26:09.75 ]
load-path の追加に normal-top-level-add-subdirs-to-load-path を使うのを
止めたら起動時間が 500〜700ms 近く早くなって感動した

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:26:23.62 ]
emacs使いの大半はcapslockをctrlにしている?
それともそのまま?

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:30:40.42 ]
そんなの調査のしようがないからなぁ。

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 15:34:21.26 ]
大半かどうかは知らんけどEmacs関係なく一定数いることは確か。
MSなんか公式でCTRL<=>CAPS逆にするドライバ配布してるし。

これも呪いの一つだとは思う。

650 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 17:29:15.59 ]
なんでこれでエラーがでるんでしょう?
(string-match (migemo-get-pattern "popw") "popwin")

ここまでは大丈夫なのに。
(string-match (migemo-get-pattern "pop") "popwin")



651 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 17:37:09.14 ]
失礼しやした。
キャッシュがぶっ壊れていただけだった。

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 18:44:24.40 ]
>>649
MSのドライバ配布なんて聞いたことがなかったから調べてみた
www.atmarkit.co.jp/fwin2k/win2ktips/1182ctrl2cap/ctrl2cap.html
ふむふむこれか。楽ちんなツールもあるもんだな

653 名前: 忍法帖【Lv=34,xxxPT】 mailto:sage [2012/01/10(火) 18:48:32.71 ]
入れ替えじゃなくてcapslockをctrlにしたい

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/10(火) 19:51:36.16 ]
職場なんかだと交換よりCAPS潰すの方が
ちょっと同僚が叩いた時とかに面倒がなくていいわ



655 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:27:15.52 ]
最新のソースを取得するにはどうすればいいんだ?
ttp://savannah.gnu.org/projects/emacs/
ここに書いてあるとおり
bzr branch bzr://bzr.savannah.gnu.org/emacs/trunk
としても、メールで[Emacs-diffs]が届いた時点のソースが取得出来ない。
その後、bzr updateしても一向に更新されないし、bzrよーわからん。
そもそも、bzr branchが異様に時間が掛かるし、bzr腐ってる。

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 00:32:21.68 ]
github のミラー使ったら?
https://github.com/emacsmirror/emacs
>A Mirror of the Emacs Bazaar repository ― Read more
>www.emacswiki.org/emacs/EmacsFromGit


657 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 01:05:13.24 ]
gitのミラーはとまってることがまれにあるのが玉に瑕。

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 08:32:51.99 ]
git clone git://git.savannah.gnu.org/emacs.git

659 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 10:21:02.18 ]
ecbとかセマンティックは消滅しちゃうんだろうか

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:14:29.24 ]
23.4のtarballsまだかよ。

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:40:39.01 ]
カーソル移動は(previous-line)でできることは分かったのですが、
カーソル位置にある文字とその一つ前の文字を取得する関数はありますか?
取得した文字によって処理を分岐させたいのですが方法が分かりません

662 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 12:56:44.81 ]
\C-x =
が似たようなことをやっている。

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:01:57.88 ]
char-after char-before following-char preceding-char

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:08:21.16 ]
>>662-663
ありがとうございます



665 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 13:49:11.90 ]
>>659
いや、普通に残ってる。
w3 っていつの間に消えてたんだろう・・・

666 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:05:23.89 ]
*scratch*バッファをキルしたあとで,また*scratch*バッファを
開く方法無いですか?

やりたいことは,*scratch*バッファの内容を復元することではなく
メモ用のバッファを作ることなのですが・・・

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:09:05.64 ]
>>666
www.bookshelf.jp/soft/meadow_29.html#SEC392
とかを参考に。

668 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:02.14 ]
普通に C-x b で *scratch* を開けばいいよ。別に特別なバッファじゃない。
お好みで initial-major-mode にしてあるメジャーモードにすればいい。

scratch の内容保存系の lisp おいてるところよく見ると
消せないようにするだけの設定が抜き出せるからそれ参考にしてみれば?


669 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 16:10:06.91 ]
>>666
www.bookshelf.jp/soft/meadow_11.html#SEC75
つーかこっちか。
モード設定は勝手にやってくれるかも。

670 名前:名無しさん@お腹いっぱい。 [2012/01/11(水) 16:36:53.69 ]
>>667,668,669
しばらくC-x b *scratch* を使ってみることにします.
ありがとうございます.

671 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 19:20:52.27 ]
abbrevの登録単語削除の方法がサパーり判らんのでスゲームカムカしてきた
C-u C-x a l

672 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:05:05.68 ]
M-x list-abbrevs して適当に消して C-c C-c じゃない?
abbrev まともにつかったことないな・・・

673 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:43:02.80 ]
無名関数の再帰を調べていたら Y コンビネータが出てきた
あのわけわからん世界に繋がりつつあるんだと思うとちょっとうれしい

674 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 21:56:17.64 ]
文字列中の "$@"、または "$" をそれぞれスペース一個にする処理を書いています。
ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
( "hoge$@$$@hage" なんかは "hoge $ hage"になる)

こういうエスケープ文字を含む置換は一回の置換で済ますのは難しいでしょうか?



675 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:18:20.68 ]
>>674
> ただし、"$$" はエスケープ処理のパターンなので "$$@" なんて場合は "$$ " に置換したいです。
だと
"hoge$@$$@hage" -> "hoge $$ hage"
にならないといけないような。

とりあえず
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1 " "hoge$@$$@hage")
-> "hoge $ hage"
となる。

676 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:40:32.37 ]
>>675
ああっ・・・すみません、"hoge$@$$@hage" は "hoge $$ hage" でした。

なるほど、直前の $ があれば保存するって書き方も出来るんですね。
もう少し考えてみます。ありがとうございます。

677 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:44:05.81 ]
>>676
下手糞だけれど、
(replace-regexp-in-string "\\(\\$?\\)\\$@?" "\\1\\1 " "hoge$@$$@hage")

678 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/11(水) 22:57:17.40 ]
>>677
$$ の場合、前の$を2つおいちゃうわけですね
ただその場合 "hoge$$hage" が "hoge$$ hage" になってしまいます
ううむ・・・

679 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 08:16:55.07 ]
emacs24 のパッケージシステム、ELPAの登録少なすぎ糞がと思ってたけど
mamalade 追加したら予想してたよりしっかり登録されてて感心した。

680 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:45:12.56 ]
ELPA標準+marmaladeでel-getはオワコンか

681 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 09:57:57.84 ]
el-get + githubのemacsmirror
これ最強な

682 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:00:49.74 ]
emacsmirror いいよな。 emacswiki のelisp 落としたい放題

683 名前:名無しさん@お腹いっぱい。 [2012/01/12(木) 10:23:06.46 ]
そんなものよりるびきちさんのauto-installを使えよ

684 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 11:34:39.88 ]
emacsmirrorのレポジトリ群からel-get用レシピ生成するelispはよ



685 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/12(木) 18:37:38.11 ]
emacs24のlexical-binding、ヘッダに lexical-binding: t とか入れると
全部の let が文脈依存になるのかよ・・・
使いづれえ

686 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 07:43:15.33 ]
scratch buffer で lexical どうやんのかな

687 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:28:58.27 ]
lexical-let を正式サポートでよかったのに。

688 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:35:18.21 ]
冗談はやめてくれ。

689 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:41:53.08 ]
*scratch* で M-: (setq lexical-binding t) でいいんじゃない?

;; 今まで
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 200 100

;; lex bind
(setq lexical-binding t)
(setq a 100)
(defun foo () (message "%d" a))
(progn (let ((a 200)) (foo)) (foo))
=> 100 100

ただし、a が defvar で宣言されている場合は lexical-binding を t にしてても強制的に
dynamical binding (ようするに今までのと同じ)になる。

だから基本的には置き換えしてもそんなに影響はでないはず。

690 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:51:34.62 ]
あと lexical-binding t にすると lambda が closure を返すようになるな。
バッファ内の未評価の defvar とかが評価結果に含まれててなんかすごく気持ち悪いけど。

691 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 10:57:03.63 ]
バッククオート展開で無理やり変数埋め込みとかしなくてよくなるのは嬉しい

692 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 11:06:45.92 ]
>>689
どっかで defvar してるシンボル名とバッティングしないような名前を使わなきゃいけないところは
変わらんってことか。

ネームスペースはよ

693 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 14:48:38.91 ]
auto-completeでメジャーモードhoge-modeの補完候補を~/.emacs.d/ac-dict/hoge-modeの各行としたいです
tabを押さずに自動的に補完候補を表示するスタイルにしたいと思います
.emacsに
(setq ac-auto-start t)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(add-to-list 'ac-modes 'hoge-mode)
と書いてhoge-modeを~/.emacs.d/ac-dictに置いたのですが何にもなりません
ac-dict/hoge-modeは改行(lf)区切りなのですが、それがいけないのでしょうか
cx4a.org/software/auto-complete/manual.ja.html
このマニュアルにはそういうことが書いていないのでよくわかりません

694 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 15:27:05.91 ]
当然だけど
(require 'auto-complete-config) とか
(ac-config-default) とかは普通に書いてあるんだよな?




695 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/13(金) 16:16:39.75 ]
>>694
(require 'auto-complete-config) は書いていましたが
(ac-config-default)が抜けていました。
ばっちり動きました!ありがとうございました。

696 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:09:51.35 ]
anythingってupgradeするたびに動かなくなるね。ぽぽぽぽーん。。
すごいわ。修正された行数とかもすさまじいし。。
うんざり。

697 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:20:52.49 ]
Semanticはちゃんと補完してくれてかなりいいんだけど、カーソルの下の
関数名の定義場所がエコーエリアに表示されているにもかかわらず、
そこに飛ぶ術がないという糞仕様。
そもそも使いづらいからAnything用のインターフェースでも作るかな…


698 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 10:27:57.09 ]
あ、動いた。どうやらanything-match-plugin.elが必須になったぽいな。
そしてこのモッサリ感。鈍重すぎる。
もともと腐ってたのが白骨化した死骸のような感じになってきたな。


699 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:07:34.45 ]
ごめん質問。ひさびさのEmacsで困ってる。
eshellでも(call-proccess ... )の出力をバッファに出しても
表示される日本語部分が化けてしまう。UTF-8なテキストファイル開くと化けない。
UTF-8環境なLinux上。Emacs23にて。
set-language-environment "Japanese"だし
set-terminal-coding-systemもset-keyboard-coding-systemも
set-buffer-file-coding-systemもdefault-buffer-file-coding-systemも
全部utf-8としたし、実際化けてるバッファでも左下はU:と表示されてるからutf-8に
なってるはずなんだが。
なにか解決のヒントくれたらおいら嬉しいのでおねがいしまふ

700 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:14:26.08 ]
default-coding-system は設定してある?

最近は個別にコーディングシステム設定しないで
(prefer-coding-system 'utf-8-unix) とかするもんらしい。
バッファ/ファイル名からプロセスから何から何まで一発でやってくれるよ。



701 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:22:24.16 ]
あわわ
× default-coding-system
○ default-process-coding-system でした

702 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:24:27.36 ]
>>697
anything と semantic で検索するとちらほら引っかかるけど
それじゃだめなん?

703 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:34:23.81 ]
>>699
process-filter-multibyte-p
set-buffer-multibyte
とかの multibyte 関係。

704 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:37:58.99 ]
むしろ一旦何も設定しない状態で試したほうがいいと思うの



705 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 12:44:07.38 ]
そもそも最近の emacs って
LANG=ja_JP.UTF=8 とかしておけば特に何の設定もしなくても
ちゃんと日本語でUTF-8な環境にセットアップしてくれるんだよな。


706 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 13:20:19.97 ]
編集中の文書のアウトライン表示させるためにsr-speedbarを試しています。
www.emacswiki.org/emacs/SrSpeedbar
なかなかいい感じですが編集中ファイルと同じディレクトリに他のファイルが
あると,speedbarにそれらのファイル以外も表示されてしまいます。編集中の
ファイルだけをspeedbarに表示する方法があれば教えてください。

707 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:33:09.07 ]
>>706
自分で新たに speedbar のモードを書くしかないと思う。
*SPEEDBAR* で b とか r を押せば開いているバッファが表示されるけれど、これは違うのだろうし。

708 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 13:48:41.17 ]
speedbar-file-regexp を make-local-variable して
バッファ名だかバッファファイル名だかだけ引っかかるような設定にすりゃいいんでないの。

これも悪くないな
d.hatena.ne.jp/kitokitoki/20100517

709 名前:699 mailto:sage [2012/01/14(土) 14:06:07.65 ]
>>700
(prefer-coding-system 'utf-8-unix)
でいけました。ありがとー

710 名前:697 mailto:sage [2012/01/14(土) 14:10:38.94 ]
>>702
ttp://dev.ariel-networks.com/Members/matsuyama/open-anything-emacs/
ここで目的のものが見つかった。
ただ、Anythingのソース作成方法を理解してないからよくわからん。
積読状態だった例の本をちゃんと読むか…

711 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:07:22.59 ]
るびきちさんが叩かれてる理由がだんだん分かってきた。

712 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:08:20.51 ]
大部分が男のジェラシーですね

713 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:16:00.39 ]
>>712
違うと思う。

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:39:05.52 ]
ジェラシーとか嫉妬とか言うやつは一人しかいないわけで。
何もかも一人でやってるようなグラマにろくなのはいないっていう悪例だよ。




715 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:43:01.18 ]
カーソル行の冒頭の空白の類いを取得したいです
正規表現は^[\t\s]+でカーソル行を取得するのは(thing-at-point 'line)でよいのですが
取り出した文字列を正規表現で検索する方法がわかりません
正規表現で検索というとre-search-forwardがありますが
これではバッファ内の文字列を検索することになってしまいます
どうすればいいでしょうか

716 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:48:26.55 ]
string-match

717 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 15:57:07.69 ]
\C-h f re-search-backward

718 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 16:24:06.55 ]
>>716-717
ありがとうございます。調べた結果
string-matchでもre-search-backwardでもできました

719 名前:名無しさん@お腹いっぱい。 [2012/01/14(土) 16:39:21.50 ]
>>707
>>708
ありがとうございます。
自分で設定する方法はわからないので,しばらくはimenu-treeと併用してみます。



720 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:31:25.59 ]
マクロを使いたいけど以下のようにしたい場合はどうしたらいいのでしょう?

・コンパイル後は内容が展開されるのでマクロ自体は未定義になってほしい
・コンパイルしないで el のみのロードの場合は普通に定義されたままでよい

eval-when-compile だと el のみのロードの場合にダメになっちゃいますよね・・・

721 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:35:53.07 ]
>>720
describe-function eval-when-compile
> In interpreted code, this is entirely equivalent to `progn'.

722 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 19:53:14.68 ]
>>721
ありがとうございます。 eval-when-compile の中にマクロ定義を置く、で何ら問題なかったんですね。

しかし、eval-after-load みたいなコンパイルされない式の方だと実行時にマクロ定義がないとエラーになってしまいます。
これをコンパイル時にマクロ展開する方法はないのでしょうか?

723 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:26:35.83 ]
(eval-when-compile (require 'cl))
(defun my-func () (loopとか))
(eval-after-load "library" '(my-func))

じゃだめなのけ?

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/14(土) 20:36:30.14 ]
>>723みたいに関数化した方がバイトコンパイルもされるから実際一番いいと思う。

一応別解

(eval-when-compile (defmacro somemacro (x) (concat x "-ok")))

(eval-after-load "hogehoge"
(eval-when-compile
(macroexpand-all
'(progn
(setq hoge (somemacro "hoge"))))))

eval-after-load から macroexpand-all までを eval-when-compile 内にマクロで置けば完璧
これなら el でロードしてもコンパイルしてもちゃんとマクロ展開される



725 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/15(日) 16:36:48.20 ]
>>653
レジストリ書き換える方法で良ければ、scancode map でぐぐると見つかる。
XP以降はLoginユーザ別に設定できる。
windows server 2003 resource kitに入っている remapkey.exe というのでも
出来るけど。ユーザ個別設定は出来ないかもしれない。

726 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:42:59.64 ]
たしかC-aやC-eを連続して押すとカーソルが行ったり来たり(?)する
elispがどこかで公開されていた気がするのですが
ご存じの方はいらっしゃいませんか
これでカーソル移動がもっと快適になるとか書いてあったような気がします
るびきち本とかどっちかと思いましたが見つかりませんでした

727 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:46:46.90 ]
アドベントカレンダーで見た気がする


728 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 18:50:20.77 ]
マジキチ先生のsequential-commandかな
他にも似たようなのあるかもしらんが

729 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:11:35.65 ]
>>727-728
ありがとうございます。両方の情報とも関係がありそうだと検討をつけて探したら
そのものずばりのページにたどり着けました
emacs.g.hatena.ne.jp/k1LoW/20101211/1292046538
この図こそ記憶にあったものです
感謝です

730 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 20:25:39.60 ]
gnupackのemacsで等幅フォント(migu 1m)を使っているはずなのに
微妙にずれてしまう気がします
対処策はあるのでしょうか

731 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 21:45:30.64 ]
>>730
NTEmacsスレの方がストレートな解答が貰えるかもしれない。
Windowsだとフォント重ねあわせでボールド化するとかの設定有効にしてると
ずれることがあるって聞いたことがあるな。変数名は忘れたが。


732 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:03:50.99 ]
あれ、うちもだそれ。LinuxでGNU Emacs 23.3.1、Ricty 3.1.2

Rictyを使ってるんだけど例えば $ の幅が他の文字の 90% ぐらいになってる
フォントの設定はなんか難しいから放置中

733 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:18:58.39 ]
Rictyってたしか複数のフォントをマージした奴だったよね。
しかもライセンスの問題でバッチ処理で自分で結合処理するんだった記憶が。
幅あってないんじゃない?

734 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:31:27.69 ]
いやRictyって幅を合わせたのが売りじゃなかったっけ?



735 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 22:40:43.46 ]
C-u C-x = で $ と字を調べてみたら?
違うフォントや違うサイズが割り当てられてたりしない?

736 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/16(月) 23:02:15.92 ]
ヒントどうもです。 差し当たり $ と 1 についての C-u C-x = の出力および
init.el の関係ありそうな設定部分を貼っときます
codepad.org/cN7neV2I

($) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x07)
(1) xft:-unknown-Ricty-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x14)

737 名前:730 mailto:sage [2012/01/17(火) 13:39:36.57 ]
解決策がわかりました
フォントのサイズを3の倍数にすればよいだけでした
>Emacs で等幅フォントの半角文字・全角文字の横幅比 1:2 を必ず達成するフォント設定
ttp://stickydiary.blog88.fc2.com/blog-entry-107.html


738 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:43:24.37 ]
EmacsLisp勉強中です。自作の関数をさらしますので添削お願いします。

(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (+ n 1)))
(setq a (cons c a))
(setq i (- i 1)))
(string-join "" a)))


739 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 14:50:18.40 ]
動けばいいってこと?

(defun random-string (length)
(let ((i length)
(s "0123456789abcdefghijklmnopqrstuvwxyz")
(a '())
n c)
(while (> i 0)
(setq n (random 36))
(setq c (substring s n (1+ n)))
(setq a (cons c a))
(setq i (- i 1)))
(mapconcat 'identity a "")))

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:05:13.65 ]
(defun random-string (length)
(let ((s "0123456789abcdefghijklmnopqrstuvwxyz")
a n)
(while (> length 0)
(setq n (random 36))
(setq a (concat a (substring s n (1+ n))))
(setq length (1- length)))
a))

741 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:24:40.20 ]
(defun random-string (length)
(concat (loop with s = "0123456789abcdefghijklmnopqrstuvwxyz"
repeat length
collect (aref s (random 36)))))

742 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 15:40:14.13 ]
(defun random-string (length)
(let* ((offset (random 36))
(char (substring "0123456789abcdefghijklmnopqrstuvwxyz" offset (1+ offset))))
(if (> length 1)
(concat char (random-string (1- length)))
char)))

743 名前:名無しさん@お腹いっぱい。 [2012/01/17(火) 15:59:27.93 ]
(defun random-string (length)
(substring (shuffle-vector "0123456789abcdefghijklmnopqrstuvwxyz")
0 length))

744 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:08:57.86 ]
(defun random-string (length)
  (loop with s = (make-string length 0)
  for i from 0 to (1- length)
  do (aset s i (aref "0123456789abcdefghijklmnopqrstuvwxyz" (random 36)))
  finally return s))



745 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:13:45.58 ]
はい、そこまで。

746 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 16:33:07.71 ]
アホ学生の課題か

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:17:27.28 ]
random 36っていうのは何というかスマートじゃ無いな

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:26:31.48 ]
見る限り >>742 >>743 はトーシロだな。

749 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:29:19.73 ]
>>748
なんで?

750 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:33:44.72 ]
関数への入力値を大きくしてみたまえ。

751 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:41:13.00 ]
そんなデカい値で使うような関数か?

752 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:44:04.87 ]
負け犬プログラマーがここにも。こーゆーやつよくいるんだよね。ヽ(´▽`)ノ


753 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:47:45.79 ]
職場でやられると締め殺したくなるやつだな。w

754 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 17:58:40.75 ]
elispだけで文字列をパスワードつけて暗号化できるパッケージないですか?



755 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:52:51.80 ]
七色に光るタッチキーボードかあ
好きな色にキーボード光らせるなら
ctrとaltは目立つ色にしたいな

756 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:53:41.57 ]
>>755
誤爆?

757 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:55:29.08 ]
ax3s.blog54.fc2.com/blog-entry-345.html
こいつでemacsとか最高じゃないか

758 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 18:58:37.67 ]
キーボードの話はこっちでいいんじゃない。

Keyboard キーボード 3
toro.2ch.net/test/read.cgi/unix/1285489282/

759 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:17:47.77 ]
>>757
テンキーレスってところがいいな。
英語配列ならなおよかったんだけど。

760 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:20:18.21 ]
「ハンファ」

なんかヤダ。

761 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 19:23:45.05 ]
Emacsとなにも関係ない件

762 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:16:45.69 ]
自由にカスタマイズできるって言っても、C-cの後とかC-xの後に有効なキーだけ
色を変えるってのはできないんでしょう?

763 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:25:40.12 ]
色を変えるってキーボードの?ww

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 20:58:16.61 ]
あんたインテリアこだわるの好きね。




765 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 21:42:54.57 ]
Emacsにハマりそうで怖い。

論文書くのにWordだとだるい

Emacs + LaTexってよさげ

Tutorialをやってみる

るびきち本を買ってくる ← いまここ

独特の操作系で敷居が高いと思っていたけれど、
これはこれでアリだと思う様になってきた。

766 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 21:44:16.70 ]
>>765
LaTeX を使うなら他のエディタを選択することもできただろうに。

767 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:16:48.10 ]
Emacsだけで色々完結するってのも惹かれた点。
しかしGoogle DocsやEvernoteなんかまで編集できるとは思わなかった。

768 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:21:42.98 ]
>>762
でもブラインドタッチしてる以上あんまり色かわっても意味ないな。

無効なキーを押すと電流が走るとかなら教育効果があるかもしれん。

769 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:22:11.64 ]
>>767
今ならまだ間に合う。引き返せ。
わりとマジで。

770 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:26:38.41 ]
>>769
後悔してる理由教えて

771 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:28:11.82 ]
>>769
後悔してる理由教えて

772 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/17(火) 22:39:33.15 ]
呪いが解けなくなるよ

773 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 01:28:50.52 ]
>>739-744
たくさんの人に答えていただき、ありがどうございます。
けど、結局どう書くのがいいのかは、よみとれませんでした。

・string-joinよりconcatのほうがいいの?
・loopとかつかったほうがいいの?
・for i from 0 to ... とか初めて見たけど、これって普通に使われているの?

もうちょっと、EmacsLisp初心者向けにお願いしたいんですが、だめでしょうか。

774 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 02:47:01.89 ]
どっから持って来たんだ、string-join って
どうせ中身は mapconcat なんだろうけど



775 名前:名無しさん@お腹いっぱい。 [2012/01/18(水) 02:48:56.76 ]
半ページスクロールってできないっすか?

776 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 08:52:46.80 ]
>>773
> ・string-joinよりconcatのほうがいいの?

・mapconcat は文字列のリストに作用するし、concat は char のリストに作
用すると覚えておけ。apply 使えるようになれば違いはほとんどない。

> ・loopとかつかったほうがいいの?

とりあえず使うな。while と mapcar を覚えろ。

> ・for i from 0 to ... とか初めて見たけど、これって普通に使われているの?

はい。loop に狂ってる連中は使う。ほとんどが上級者だな。


ここで質問する前に他の人のコードをひたすら読め。
elisp以前にプログラマの基本だ。


777 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 10:08:52.24 ]
cl系使うのは抵抗あるな。

778 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 12:35:55.81 ]
るびききの書いたelispのソースを見て気づいたんだけど
日付と履歴情報が自動的に更新されている気がする
たとえば www.emacswiki.org/emacs/download/auto-install.el
日付の自動更新はtime-stamp.elでできるけど
履歴情報(changelog)の自動更新はどうやるのだろう

779 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 16:24:31.76 ]
これバージョン管理が勝手に入れるやつじゃないの?
elispファイルに履歴なんて書いても誰もみないから分離してほしいよな。
githubにでもリポジトリ公開すればいいのに。

780 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 16:31:22.63 ]
Change log:のところにChangeLogを挿入してるんじゃないの?
まあChangeLogはふつう別ファイルだから何かしら細工していると思うが
$Id: の部分も別ファイルのChangeLogを挿入しているだけかと

781 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 17:06:37.54 ]
なんで意固地になって読みづらいchangelogを挿入するのだろうか。


782 名前: 忍法帖【Lv=38,xxxPT】 mailto:sage [2012/01/18(水) 17:12:34.07 ]
>>776
> とりあえず使うな。while と mapcar を覚えろ。

mapcもね


783 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 18:12:11.63 ]
DAdams病

784 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 18:42:21.52 ]
remove-if とか find-if が便利すぎて loop 覚える気がしない



785 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 20:53:48.69 ]
cl の関数を使っちゃってるかどうか検査する方法って何があるかな
コンパイルするしかない?

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 20:59:27.45 ]
elintで検出できたっけ?

787 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/18(水) 22:51:29.37 ]
検出は知らんけどhighlight-clで目視できるようにはしてる

788 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 08:03:24.33 ]
yasnippet が堂々と (require 'cl) しているのを見て
なんかもうどうでもよくなった

789 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 08:36:10.64 ]
本体に取り込んでやるからその汚い(require 'cl)をどうにかしろ
とか言われない限り取り除く気は無い

790 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 16:08:28.58 ]
viのmコマンドに相当するのは、emacsでは何になりますか。
やりたいことは、現在のポジションを短い名前付きで覚えておき、あとからその名前を使ってジャンプすることです。
emacsを終了しても覚えておかなくていいです。

791 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 16:12:47.56 ]
C-x r SPC で覚えて C-x r j でジャンプ。

792 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 17:28:51.63 ]
>>791
ありがとうございます。

793 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 21:41:24.31 ]
>>640
キツいhookだなぁ。

794 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:08:53.23 ]
リージョンを指定して、その範囲内で正規表現にマッチしたものを集めてくる関数はどうやって書きますか。
Rubyで書くとこんな感じです。

arr = []
region.each_line do |line|
 if line =~ regexp
  arr << $1
 end
end

リージョンを受け取るには (interactive "r") を指定するらしいところまではわかりましたが、
その先がさっぱりわかりません。だれか助けて。

(defun regexp-collect-matched-in-region (beg, end)
(interactive "r")
;; どう書けばいいの?
)




795 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:28:30.59 ]
ものっそ丸投げだなw
リージョンの開始位置までポイントを進めて、
リージョンの終了位置を検索の境界に指定して検索を進めればいい。

goto-char、re-search-forward と match-string とかを describe-function しなさい。
save-restriction とか save-excursion、save-match-data とかもぐぐるといいかもね。

単純に操作としてやりたいだけなら keep-lines とかはどうかね。

796 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:52:46.90 ]
>>796
いいから解答教えろよ役にたたねえな

797 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/19(木) 22:56:09.09 ]
汚い無限再帰だなあ

798 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:07:41.12 ]
>>795
ありがとうございます。
こんなかんじになりました。
(defun regexp-collect-matched-in-region (regexp index beg end)
(let ((list '()))
(save-excursion
(goto-char beg)
(while (re-search-forward regexp end t)
(setq list (cons (match-string index) list))))
(reverse list)))
どうでしょうか?

なお796は別人ですので無視してください。

799 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:11:48.82 ]
やるじゃん
listって変数名は関数のlistとかぶってるから別の方がいいかも。特に動作上の弊害はないんだけど。
リストへの追加は push でもいいかもね。

800 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:20:11.57 ]
listの書き換えか
よく見るのはlis か lst かな

801 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 00:55:32.98 ]
どうでもよすぎるつっこみおつかれさん。

802 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 02:47:45.08 ]
引数はむしろlistの方がいいな。
eldocとかで不必要におかしな名前で出てくるのは間が抜けた感じ。

803 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 08:31:17.14 ]
>>798
reverse を nreverse にする
そもそも (goto-char end) + (re-search-backward ...) を使うと、 reverse がいらなくなる

loop 大好き
(save-excursion
    (goto-char beg)
    (loop while (re-search-forward regexp end t)
          collect (match-string index)))

804 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 08:40:02.69 ]
>>803
> そもそも (goto-char end) + (re-search-backward ...) を使うと、
> reverse がいらなくなる

これやると正規表現の量指定子はどういう挙動をするの?




805 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 11:18:01.36 ]
やっぱりloopは神だった

806 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:17:24.19 ]
blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/
これのインデントの関数の再設定を見て疑問に思ったのですが例えば
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert "  ")))))
このように書くのと、
(add-hook 'text-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) (lambda () (insert "  ")))))
と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
理解しているのですが、これでいいでしょうか

それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "yellow")))
この設定をelispモードのバッファにのみ適用させたいです

807 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:22:38.49 ]
>>803 はたぶん意味を理解していない。

808 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 12:28:15.44 ]
>>806
> と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
text-mode-hook が実行? されるバッファ以外にもだけれど、合ってる。

(add-hook 'emacs-lisp-mode-hook
         (lambda ()
         (add-hook 'input-method-activate-hook (lambda() (set-cursor-color "yellow")) nil 'local)))

809 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 13:20:47.87 ]
>>808
ありがとうございます。その例とadd-hookのdocを見て理解できました。


810 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 17:42:04.36 ]
loop きもすぎる

811 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/20(金) 18:14:36.03 ]
reddit にでてたけど、Emacs にも Achievement System あったら楽しそうだな。
www.reddit.com/r/emacs/comments/ook6a/does_something_like_this_exist_for_emacs/

812 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 00:58:51.83 ]
横レスだが>>808でインデントが整って見えるのは何故だろう
2chでは連続した空白スペースが省略されると思うんだが


813 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 01:17:52.31 ]
&nbsp; == &#160; != &#32;

814 名前:806 mailto:sage [2012/01/21(土) 01:39:34.48 ]
set-face-foregroundの色やset-face-bold-pの有効・無効を
特定のモードのについてのみ変更できますか?



815 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 01:56:08.64 ]
>>813
なるほどnbspですか
2ちゃんブラウザからスレを開いてコピペすると確かにそれがありました

816 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 02:11:56.20 ]
>>814
出来ない。

817 名前:806 mailto:sage [2012/01/21(土) 02:14:14.19 ]
>>816
ありがとうございます。
いろいろやってみましたが設定できなかったのでどこか間違っているのか
迷っていました

818 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 14:41:33.95 ]
Emacsで、パターンに一致した行を見えなくすることはできますか。
(削除じゃなくて)
たとえばソースコードで「//」で始まる行だけを一時的に隠したいとか、
「<!ーー ーー>」の行を隠したいとか。
自分で指定したパターンで隠してくれるのを望みます。
あと、行数もつけてくれたら最高。

10: foo
14: bar   ← 11行目から13行目までが隠されていることがわかる
15: baz


819 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:02:20.11 ]
hideshow は?
隠す部分の開始パターンと終了パターンが指定出来るよ。しかもEmacsに標準でついてくる。
describe-function hs-minor-mode ね。
あと、linum-mode で行表示しててもちゃんと隠された行はスキップされる。




820 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:03:38.80 ]
ただ、隠したり表示したりのキーバインドが結構押しづらいから
自分で使いたい部分だけバインドしなおしたほうが便利だとは思う。

自分は表示/非表示切り替えの hs-toggle-hiding だけ C-c C-SPC にバインドしなおして
それだけ使ってる。

821 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 15:28:21.01 ]
>>819-828
ありがとうございます。ためしてみます。

822 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 23:21:55.04 ]
emacs lisp テクニックバイブルの36ページに入力補完として
completion-at-point(M-tab)が紹介されていますが
anythingを導入したらその機能が置き換えられてしまいました
調べてみたらanything-complete.elのanything-lisp-complete-symbol-partial-matchとなったようです

具体的には入力補完の例として本で説明されている
bu-f-naでbuffer-file-nameを補完したいです
そこでM-tabだけはcompletion-at-pointの機能を復活させて
それ以外はanything-completeを利用したいのですが
どうすればよいでしょうか

823 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/21(土) 23:23:15.56 ]
著者に聞きなさい。

824 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/22(日) 10:34:28.62 ]
anything を使ってないから詳しくはわからんけど、
anything-complete の中で define-key してるキーマップ名を探して
(define-key キーマップ名 (kbd "<M-TAB>") nil) とでもして機能を殺せばいい。



825 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:19:01.13 ]
elcってバージョン間の互換性薄かったりするけど、
複数バージョンの emacs 使ってる人は ~/.emacs.d 以下の elc ファイルってどうやって共有させてるの?

826 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:44:20.39 ]
そもそもバイトコンパイルほとんどしてない。
というか互換性薄かったっけ?
暗号系のやつは遅いので仕方ないからコンパイルしてるけど互換性で問題になっ
たことない。

827 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:48:01.40 ]
バージョン間の違いを吸収するときは
バージョンごとに違うディレクトリを掘って、

~/.emacs.d/22
~/.emacs.d/23

それぞれに el ファイルとか elc 放り込んでる。



(setq load-path (cons (format "~/.emacs.d/%s" emacs-major-version) load-path))

みたいなことをしてる。

828 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 21:59:21.84 ]
軽くぐぐってみると emacs19とemacs20で非互換だったとか
Meadowの1系と2系で非互換だったとかそんなぐらいだなぁ。
今emacs24でコンパイルしたのをemacs23で読み込ませても特にエラーにはならなかった。

829 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:24:54.69 ]
>>828

経験したパターンでは、emacs 本体で供給している macro の展開で NG
とかある。個人的な感想では emacs23 と 24 の elc 共用は止めた方が
良い。読み込んだぐらいではエラーにならないけど、使っているうちに
理由の分からんエラーになる。知っている限りでは、Mew と emacs-w3m
はこれに該当する。


830 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:34:06.05 ]
byte-compile-dest-file-function に version specific なディレクトリに elc 突っ込むような関数定義して
load-path ではその ディレクトリが先頭に来るようにするってのはどうだろう。

el と elc が別ディレクトリだと describe-function とかした後に関数定義に飛べなかったような記憶があるけど・・・

831 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/23(月) 22:36:40.32 ]
>>829
あー、なるほど。elcのフォーマットの問題ではなく、コンパイル時に展開されちゃう
マクロの内容に差があった場合に問題になるってことか。

832 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:06:00.78 ]
twitter.com/kazu_yamamoto/status/161620210237964288

> ELisp は Scheme より Common Lisp に近いため、Common Lisper がたくさん ELisp を書いていますが、ELisp っぽく書けてはいないので、require 'cl しているコードはお勧めできません。

さて、自称上級者はどういう反応をするか。


833 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:11:14.50 ]
そういや昔、山本さんが誰か知らずにfletとは云々ってブログにコメントしてた人がいたな。

834 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:18:18.25 ]
だから何?



835 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:20:55.37 ]
>>832
自称上級者って有料メルマガの人とかか。
あの人はあくまで設定の事だけでLispの何たるかはわかってなさそう。

836 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:23:31.92 ]
かずさんってEmacsアンチになってるもんだと勝手に勘違いしてたわ

837 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:25:49.15 ]
アンチには違いないと思うけど。
真っ当なグラマならこんな古くさい言語を必死に宣伝したりしない。


838 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:26:55.34 ]
そうするとツイッターアイコンが赤いEmacsアイコンなのはそういう意味なのか。

839 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:27:26.28 ]
Haskellerになって久しいもんな。

840 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:27:49.92 ]
あれはfiremacsのやつ。と思う。

841 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:28:58.55 ]
あんな必死になって著書にまで (require 'cl) の有用性を書いてた人にとっ
ては人格を否定されたも同然。でも、反論する度胸はないだろうな。(⊃д`)

いい加減ああいううさん臭いのに騙されるのやめてほしいわ。


842 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:41:10.32 ]
そもそもあの本売れたの?

843 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:42:20.69 ]
新人にEmacsの有用性を説く奴は信用ならん
るびきちはもはや老害だろう

844 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:43:38.30 ]
卒論間際の大学生とか暇な院生の方がelispの生産性高いイメージがある。



845 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 13:45:13.51 ]
ていうかあいつすでにelispまったく書いてないじゃん。家で何やってんだろ。
実はもうアンチに変わってるんじゃないか。

846 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 15:12:10.87 ]
メルマガ書くのでいっぱいいっぱいになってるんとちがうの。
どんぐらいの密度の内容の文章書いてるのかはわからんけど。

847 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 16:07:20.83 ]
common lispのreplのように
scratchバッファでもs式のインデントを自動的に行いたいのですが
(elispモードのように)
どうすればよいのでしょう

848 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 16:15:12.98 ]
(define-key lisp-interaction-mode-map (kbd "C-m") 'newline-and-indent)

849 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 17:20:35.10 ]
.emacsに書いている設定をinit-loaderで分割するときには
eval-when-compileをところどころ使わなくてはならないようですが、
eval-when-compile を使うのはdefmacroの設定が含まれているライブラリや
defmacroを自分で書いたときだと理解しています
それでいいでしょうか

850 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:13:50.57 ]
それでいいです。

851 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:36:47.82 ]
本当ですか?嘘を嘘と見抜けないと 2ch 使えないので念のための確認です。

852 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:39:00.73 ]
ほんとですよ。

853 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 18:53:17.11 ]
>>848
ありがとうございます。うまくいきました。

854 名前:849 mailto:sage [2012/01/24(火) 19:27:55.67 ]
>>850
どうも。

>>851
誰ですか?



855 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 19:34:23.85 ]
 \                    /
   \  丶       i.   |      /     ./       /
    \  ヽ     i.   .|     /    /      /
      \  ヽ    i  |     /   /     /
   \
                                  -‐
  ー
 __          わ た し で す            --
     二          / ̄\           = 二
   ̄            | ^o^ |                 ̄
    -‐           \_/                ‐-

    /
            /               ヽ      \
    /                    丶     \
   /   /    /      |   i,      丶     \
 /    /    /       |    i,      丶     \  

856 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 21:22:50.21 ]
なんとなくなつかしさを覚えた。

857 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:39:23.06 ]
とりあえずrbkt一派のパッケージは使わない方がいいということが分かった。
ソースも参考にしない方がよさそうだな。メルマガも解約するわ。

858 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:45:52.45 ]
あの情報商材丸出しの紹介文読んだ上で契約してる時点ですでにどうかしてると思うよ。

859 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/24(火) 22:53:17.03 ]
若いやつだろ。
よく大学でオタっぽい友達いないやつが宗教とか詐欺にひっかかってるだろ。


860 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/25(水) 14:49:11.77 ]
情報商材ワロタw

861 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 08:56:09.76 ]
>>859
年配の方ですか?


862 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 09:19:20.64 ]
革命家rbkt釣れた。

863 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 09:40:35.21 ]
先生のアイデンティティが揺らいでいる。可哀そう…

864 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 13:33:55.60 ]
盛り上がってるところ申し訳ないのですが、質問させてください。

(add-to-list 'hoge '(fuga0 "piyo"))
(add-to-list 'hoge '(fuga1 "piyopiyo"))

みたいな記述を何度も書くのがアホらしいので、consとかappendとかを駆使して纏めてみようとしたのですが上手くいきません。
どうしたらいいのでしょう。



865 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 13:58:32.25 ]
defmacroをどうぞ
GNU Emacs Lispリファレンスマニュアル: 12. マクロ
www.fan.gr.jp/~ring/doc/elisp_20/elisp_13.html

866 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 14:47:36.03 ]
こういう事?
(dolist (e '((fuga0 "piyo")
(fuga1 "piyopiyo")))
(add-list 'hoge e))


867 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:34:48.39 ]
>>865
マクロ…おいおい覚えていきます…。

>>866
(dolist (e '((fuga0 "piyo")) '((fuga1 "piyopiyo")))
(add-to-list 'hoge e))

としたらうまくいきました。ありがとうございます!

868 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:45:12.49 ]
何なのこのひと。。

869 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 15:46:51.63 ]
>>867
訂正:
(dolist (e '((fuga0 "piyo") (fuga1 "piyopiyo")))
(add-to-list 'hoge e))

です。

870 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 17:10:23.76 ]
こうだと思ったのに……。
(dotimes (i 9)
(add-to-list 'hoge (list (intern (format "fuga%d" i))
(let* ((length (length "piyo"))
(str (make-string (* (1+ i) length) 0)))
(dotimes (j (1+ i))
(store-substring str (* j length) "piyo"))
str))))

871 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/26(木) 17:37:22.16 ]
ウルセーバカ

872 名前:名無しさん@お腹いっぱい。 [2012/01/27(金) 00:30:35.18 ]
>>818
2年位前、コメントアウト部分を見えなくするマイナーモードを書いたけど、
インデントや空白・tabのところで表示が崩れて断念したな・・・

もっかい作ってみようかな。
自分は「開始と終了」という考え方じゃなくて「文字のface」で考えました。

873 名前:名無しさん@お腹いっぱい。 [2012/01/27(金) 12:48:49.73 ]
それって hilight が使ってるコメントの開始終了を hideshow に渡すのと比べて何が嬉しいの?

874 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 00:03:22.47 ]
FooBar()みたいな関数名をfoo_bar()に変えるにはどうすればいい?
とりあえずM-%でやると、Foo_Bar()みたいになっちまう・・
そんでFoo_Barをfoo_barにしようとしても、やっぱりFoo_Barのまま。
一括置換でない方で頼む。



875 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 01:13:55.45 ]
自決した。
foobarと検索してから置換してたらだった。ちゃんとFooBarで検索してから
M-%で大丈夫だった。

876 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/29(日) 17:48:19.27 ]
腹切ったらしい






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<216KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef