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


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

【叩かれて】Emacs Lisp道場【強くなれ】



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

ではひとつ、コード中心の熱いバトルをよろぴく。


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 と同じことできたのね。試せよオレ。







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

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

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