のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,667,538人
昨日:no data人
今日:
最近の注目
人気の最安値情報

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

emacs覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
51 = :


'((spec
((:char-spec ascii :height any))))

の"height:"ってなんですか?

Lispのマニュアルに載ってますか?

52 = :

>51
それMeadowのフォント設定じゃない?
だったらそれはMeadow独自だから、
EmacsLispのマニュアルには載って無い。

53 = :

emacs ユーザーのスキルレベルというのはどんなもんなんでしょうか。

僕はぼんやりとですが、

初心者 寄せ集めでも.emacsを作れて、キーバインドができる
初級者 正規表現を操れて、簡単なelispが書ける
中級車 listを自由自在に操れて、人の書いたelispを書き直せる
上級者 マイナーモードやメジャーモードをスクラッチから書ける

こういうもんかなと思ってますが。
実際のところ、どうなんでしょう>上級者の方々

教えていただけると、励みになりますんで。ひとつ。

54 = :

× 中級車
○ 中級者

でした。
僕はまだまだ軽四レベルです。

55 = :

>>53
変なことを知りたがるなー

メジャーモードは簡単だから中級者だね。広瀬さんのページでも見てね。
上級者には ccl も求められるかも。
あと、XEmacs などの微妙な違い。

56 = :

>>55
> メジャーモードは簡単だから中級者だね。
マジスカ。
cclなんてとてもなんで、当分中級を目指します。
道は険しいなぁ…

57 = :

別に階級付けしなくても。
> 人の書いたelispを書き直せる
こんなん、元のlisp次第だしさ。

58 = :

中級は尊い

59 = :

>>52

いや、Meadowのフォント設定の例なのはわかっているんですけど、
:heightとかの lispの言語的にどーいう扱いかと。

lisp modeではhighlightされるし、なんか特別な扱いがあるのかと?

誰か教えてください。

60 = :

>>59
変数として評価すると自身を返すシンボル。

: が頭についているシンボルについてくわしく知りたいなら
keyword-symbols-constant-flag の docstring でも見てくださいな。

t や nil とは微妙に違う、こんなことをしたときに。
(setq t t)
(setq :foo :foo)

> 中級は尊い

61 = :


>>60

なるほどです。
そのまんま、constantなsymbolなのですね。

これを使う側が、
(:char-spec ascii :height any)
なんかで、リストの次の中身が何なのか、判断しているのですね。

("char-spec" ascii "height" any)
だと、文字列だから遅いんですか?

lispでは、
(eq :hage :hage)
は純粋にsymbolの比較onlyだから”軽い”ってことですか?

62 = :

>>61
その手のやつは plist-get を使ってると思うんで docstring でも見てくださいな。

(plist-get '(nnsoup pink) 'nnsoup) => pink
(plist-get '(:nnsoup pink) :nnsoup) => pink
(plist-get '("nnsoup" pink) "nnsoup") => nil

中級は尊い

65 = :


>>62

あぁ、なるほどね。
ありがとうございます。

すっきりしました。

もう一度Emacs Lispマニュアル読み直しに逝ってくるでつ。

67 = :

自分以外に便利だと思う人がいるとは思えないけど
(defun my-recenter (&optional arg)
(interactive "P")
(if (equal last-command 'recenter)
(recenter 0)
(recenter arg)
(setq this-command 'recenter)))

68 = :

>>67
いちお簡単に機能ぐらい書いといたほうが。
equal は eq でいいね。
last-command が recenter と my-recenterの間で
トグルするのを利用するわけか。

70 = :

>>67
これを機会に docstring 書く癖つけれ

71 = :

>>68,70
あ、僕もですね。肝心な説明を書いてませんでした。

>>66
ポイント付近の語をkill-ringにコピーします。

docstringは、さしずめ
"Copy a word at near the point to kill-ring."
といったところでしょうか。

細かい説明書きは英語ではつらい…ボソ

73 = :

>>72
CVS or RCSをvc で使用時、ついついチェックインを忘れてしまい、古い版が
欲しいときに戻せないという歯がゆい思いをしました。

これを防ぐためにファイルセーブx回に1回は自動的にチェックインするelisp
を書いてみました。要vcで、CVSと RCSにしか対応していません。
使うには .emacsに以下を追加します。

(require 'auto-vc-checkin)
(setq auto-vc-checkin-rcs t) ;; RCSで有効にする
(setq auto-vc-checkin-cvs t) ;; CVSで有効にする
;; 例:セーブ3回につき、1回チェックイン
(setq auto-vc-checkin-save-count-by-checkin 3)

RCSの場合はチェックインと同時にチェックアウトしますので、初回チェック
アウト後はCVSと同じような使用感になると思います。

なお、auto-save-buffers.elを使ってる場合は処理待ち増大で操作不能になる
可能性があるかもです。リビジョン番号肥大にも要注意です。

あと、複数メンバーのプロジェクトでは使わないほうが無難だと思います。

75 = :

いいんだけど、check inしたらアンドゥ情報が失われるというのはちょっと…

76 = :

確かに、です。
vc がよく分かってないままに書いたのがいけなかったです。
もちょっと調べます。

78 = :

(add-hook 'foobar-mode (function (lambda () (show-paren-mode 1))))

79 = :

>>78
(add-hook 'foobar-mode-hook #'(lambda () (show-paren-mode 1)))
でしょ?
foobar-mode でなく
foobar-mode-hook と。一般的にですが。

81 = :

初心者 寄せ集めでも.emacsを作れて、キーバインドができる
初級者 正規表現を操れて、簡単なelispが書ける
    listを自由自在に操れて、人の書いたelispを書き直せる
    マイナーモードやメジャーモードをスクラッチから書ける
中級者 Emacsにパッチをあてはじめる
上級者 Emacsをスクラッチから書ける

82 = :

中級は尊い。

83 = :

>>79
> (add-hook 'foobar-mode-hook #'(lambda () (show-paren-mode 1)))

(add-hook 'foobar-mode-hook (lambda () (show-paren-mode 1)))
ではないの?


(defmacro lambda (&rest cdr)
:
(list 'function (cons 'lambda cdr)))
だじょ。

84 = :

>>83
訂正するほどじゃない。

85 = :

スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。

87 = :

>81 漏れはいまだ初心者でつね

88 = :

>>81
上級者というのはxyzzyの亀井さんくらいのレベルなのか…。
道は遠い…というより一生かかってもムリ

89 = :

初心者 寄せ集めでも女を集めて、ハーレム を作れる
初級者 性器表現を操れて、簡単なエロ本が書ける
    チムポを自由自在に操れて、人に汚された女を調教し直せる
    S モードや M モードをスクラッチから調教できる
中級者 少女の頃から育成をはじめる
上級者 女を卵子から作り始める

90 = :

>>89
はい、それから~

91 = :

定義厨は失せて。

92 = :

>>91
なんか Emacsスレのほうに飛び火してるみたいだが。

93 = :

>>89
初心者のハードルやけに高いな、おい。

94 = :

>>85
> スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。

http://www.mew.org/~kazu/doc/elisp/function.html

95 = :

>>94
結局「スタイルの問題」じゃないの?

96 = :

>94
kazuのeispは信じられない程アレなので参考にならない。

97 = :

#' ではなく ' を使うと、バイトコンパイルされない場合がある。ってことでしょ。

98 = :

>>96
あ、mew 使ってないんでよく知らないんだけどどのへんがアレなの?

99 = :

>>97
でもこのスレでは生のlambdaと functionで囲んだのだけ扱ってて、
quoteは関係無かったからさ。なのに 94が変な反応するから。

100 = :

今日、はじめて包囲アドバイスなるものを使ってみマスタ。
強力すぎてちょっと怖いけど、試しに

;; デフォルト動作でそのウィンドウも消すようにする。
(defadvice quit-window (around kill-window-adv activate)
"quit-window with kill selected window"
(unless (ad-get-arg 1)
(ad-set-arg 1 (selected-window)))
ad-do-it)

こんな風なのを書いてみた。
たとえばapropos のウィンドウで q したときなんかはウィンドウが消えてくれます。
コレ一発で vc の log ウィンドウなんかもそんな挙動になってくれるからスゴイ楽でし。

でもやっぱし怖いす。


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について