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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    51 : 名無しさん@お腹 - 03/09/30 22:28 (+2,-30,-60)

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

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

    Lispのマニュアルに載ってますか?
    52 : 名無しさん@お腹 - 03/10/01 04:08 (+4,-29,-28)
    >51
    それMeadowのフォント設定じゃない?
    だったらそれはMeadow独自だから、
    EmacsLispのマニュアルには載って無い。
    53 : 厨房な質問なんで - 03/10/01 13:47 (+96,+30,-162)
    emacs ユーザーのスキルレベルというのはどんなもんなんでしょうか。

    僕はぼんやりとですが、

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

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

    教えていただけると、励みになりますんで。ひとつ。
    54 : 厨房な質問なんで - 03/10/01 13:49 (+57,+29,-2)
    × 中級車
    ○ 中級者

    でした。
    僕はまだまだ軽四レベルです。
    55 : 名無しさん@お腹 - 03/10/01 16:31 (+104,+29,-32)
    >>53
    変なことを知りたがるなー

    メジャーモードは簡単だから中級者だね。広瀬さんのページでも見てね。
    上級者には ccl も求められるかも。
    あと、XEmacs などの微妙な違い。
    56 : 厨房な質問なんで - 03/10/01 16:56 (+71,+29,-17)
    >>55
    > メジャーモードは簡単だから中級者だね。
    マジスカ。
    cclなんてとてもなんで、当分中級を目指します。
    道は険しいなぁ…
    57 : 名無しさん@お腹 - 03/10/01 16:57 (+54,+26,-16)
    別に階級付けしなくても。
    > 人の書いたelispを書き直せる
    こんなん、元のlisp次第だしさ。
    58 : 名無しさん@お腹 - 03/10/01 19:41 (+46,+28,-1)
    中級は尊い
    59 : 名無しさん@お腹 - 03/10/01 22:45 (+30,-30,-33)
    >>52

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

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

    誰か教えてください。
    60 : kaoru - 03/10/02 00:23 (+10,-30,-81)
    >>59
    変数として評価すると自身を返すシンボル。

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

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

    > 中級は尊い
    61 : 59 - 03/10/02 23:09 (+10,-30,-138)

    >>60

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

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

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

    lispでは、
    (eq :hage :hage)
    は純粋にsymbolの比較onlyだから”軽い”ってことですか?
    62 : kaoru - 03/10/03 17:01 (+42,-30,-79)
    >>61
    その手のやつは plist-get を使ってると思うんで docstring でも見てくださいな。

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

    中級は尊い
    63 : 名無しさん@お腹 - 03/10/03 21:37 (+0,-29,-28)
    >>62
    59 じゃないけど質問です。
    plist で、普通のシンボルじゃなくって :hoge とかをよく使うのはなんでですか?
    自分では、わかりやすいからなのかなーとか思ってます。
    64 : 名無しさん@お腹 - 03/10/03 21:48 (-6,-29,+0)
    It's fukin' CLism.
    65 : 59 - 03/10/03 23:46 (+63,+29,-7)

    >>62

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

    すっきりしました。

    もう一度Emacs Lispマニュアル読み直しに逝ってくるでつ。
    66 : 名無しさん@お腹 - 03/10/04 21:55 (+19,-30,-229)
    長い文字列をコピーすることが多いので、こんなのを作ってみました。
    一応、C-u で コピー時に含める文字を追加できます。
    デフォルトの状態で[と]を区切文字にできないのがちょっとナニですが。

    (defvar my-copy-word-include-chars "a-zA-z0-9\-")
    (defun my-copy-word (&optional arg)
    (interactive "P")
    (let ((skip-chars (concat my-copy-word-include-chars
    (when arg
    (read-string "inc. chars: "))))
    beg end str)
    (save-excursion
    (skip-chars-backward skip-chars)
    (setq beg (point))
    (skip-chars-forward skip-chars)
    (setq end (point)))
    (setq str (buffer-substring-no-properties beg end))
    (kill-new str)
    (message "copied \"%s\"" str)
    ))

    ;; (global-set-key [?\C-=] 'my-copy-word)とか
    67 : 名無しさん@お腹 - 03/10/05 03:05 (+17,-30,-149)
    自分以外に便利だと思う人がいるとは思えないけど
    (defun my-recenter (&optional arg)
    (interactive "P")
    (if (equal last-command 'recenter)
    (recenter 0)
    (recenter arg)
    (setq this-command 'recenter)))
    68 : 名無しさん@お腹 - 03/10/05 03:25 (+10,-30,-75)
    >>67
    いちお簡単に機能ぐらい書いといたほうが。
    equal は eq でいいね。
    last-command が recenter と my-recenterの間で
    トグルするのを利用するわけか。
    69 : 名無しさん@お腹 - 03/10/05 13:03 (+0,-29,-2)
    >>67
    reposition-window ってのもあるけどな。
    70 : 名無しさん@お腹 - 03/10/05 13:26 (+0,-29,-15)
    >>67
    これを機会に docstring 書く癖つけれ
    71 : 66 - 03/10/05 18:14 (+5,-30,-66)
    >>68,70
    あ、僕もですね。肝心な説明を書いてませんでした。

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

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

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

    72 : 名無しさん@お腹 - 03/10/06 09:40 (-17,-30,+0)
    ----BEGIN BASE64----(auto-vc-checkin.el.gz)
    H4sICAy4gD8AA2F1dG8tdmMtY2hlY2tpbi5lbAClVk1v2zgQPSdA/sPAl0jbyknR
    WwwUcINFsUCQFmnaRY8UObK5kUiHpOTqsr+9Q4p0VNtx3NZIAEnz9ebN40izGbDW
    6aLjBV8if5BqijUURREeN8xJDtGwKKSC1qKAjp+dzmb+f18w1w1aWEu3hPn7zx9v
    vtz/ffMNbj/Cv/O7u/nt/bdpiLxfSgtWV27NDAJdC2mdkWXrqEKrBBpwS4QPt1/g
    Ayo0rIZPbVkTnhvJUVmkND7RDK5106ByzPRXw6MhN/1V2hzuo2i0wAHP9chKofgd
    eYCiFUfADk0PQpMdLOuwKNuqQjOlSrpdLF9Dr9uQhTMFTPzXWkfomfupZsi01Gto
    mOrBSU+T0yHfdEPoP8o6VtdXmwefWp/KNyNr4klRRK2ZKFbMLc8Jn5AGudOmfw1M
    CSh7h34Eq+DtQFYhi0BLfmIKMCenVciJxE9d67VvCr+vDFortbJDDWrIwP8XU2wY
    t0/w/C8z+NhSNjjfmn7+5GLRPW6LozCcGs6BfFCxkvCtl+hH4QGQ7YVo3j0fTbZN
    dFTlaOYb8t/uYf1AxTBprlvlirJPT+FtPrCRxCcwyY5EZaBjRnp4Z6eZwIrujkz7
    5vLsFGDy123blJSm7H/SjlfyIMIQCLraamWSP1/QM6dkHfNrVdANNMho1luuiVqt
    4Prr54NJ/TB/Oend9eGkfDjKIel878ElXraCLjp+Mah0MoCJ+wD8OiFthKPu+av1
    ggBayxb4pBA6a32AFCZI0kejaNX8yhTh0nfUsAcsUljcD0WtqcDOORnFpsLBQuXB
    6NZJFeu2aqes0MWYjiz3PWcBN+NOdjg8qNFBlkU6n6OZXE+ykvEHpJ2QkX1zHeH7
    lVMo1iBkvDUGvWKDJfc/X4hKca3EcOmPHk34Kg3M7xg13FBX0SfL8BFSoXNyj3nI
    Eg70Hp15mCM5HYHOKxPGXaZwwnFU/BCV1DIJsSQjqfYo58QlLjwBdG6eCNCq7vf2
    TV4v9B1W2h/3/TsdaBqbuaK3HSi6JKGlDpxPnzzzJF0mOnohp0UUoQz6jabRc8hY
    RVLdWRFBu8xF9QZC4ts5qiwJemtrZm+K4/arh3tCef5U7gldRgtlR8mwM+MwBFlB
    9g52sB/cCidxGFLxGpmNJAZrNL70ziJuXh2qMRTx3wZ6vGEHmlZGL1QqdHgH5cfi
    uczzSGTQjcK4l8cyUAJGR5VU5PP57x04H7lNOp5Wtv8aoPXjAXdSPPNNsvc7leIs
    kNJJYT8A6fvoYgYLAAA=
    ----END BASE64----
    73 : 72 - 03/10/06 09:41 (+7,-30,+0)
    >>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を使ってる場合は処理待ち増大で操作不能になる
    可能性があるかもです。リビジョン番号肥大にも要注意です。

    あと、複数メンバーのプロジェクトでは使わないほうが無難だと思います。
    74 : 72 - 03/10/06 09:50 (-1,-29,-11)
    >>73
    × RCSの場合はチェックインと同時にチェックアウトしますので
    ○ RCSの場合はチェックイン直後にチェックアウトしますので

    でし。
    75 : 名無しさん@お腹 - 03/10/11 15:31 (+57,+29,-5)
    いいんだけど、check inしたらアンドゥ情報が失われるというのはちょっと…
    76 : 72 - 03/10/13 19:49 (+57,+29,-18)
    確かに、です。
    vc がよく分かってないままに書いたのがいけなかったです。
    もちょっと調べます。
    77 : 名無しさん@お腹 - 03/10/14 07:00 (-1,-29,-37)
    modeによってshow-paren-mode を切り替えたいのですが
    lispがわかりません どのような設定になるのでしょうか?
    78 : 名無しさん@お腹 - 03/10/14 07:05 (+4,-30,-44)
    (add-hook 'foobar-mode (function (lambda () (show-paren-mode 1))))
    79 : 名無しさん@お腹 - 03/10/14 08:44 (+10,-30,-60)
    >>78
    (add-hook 'foobar-mode-hook #'(lambda () (show-paren-mode 1)))
    でしょ?
    foobar-mode でなく
    foobar-mode-hook と。一般的にですが。
    80 : 名無しさん@お腹 - 03/10/14 17:11 (-6,-29,+0)
    78-79 有難う御座います
    81 : 名無しさん@お腹 - 03/10/16 07:53 (+128,+29,-133)
    初心者 寄せ集めでも.emacsを作れて、キーバインドができる
    初級者 正規表現を操れて、簡単なelispが書ける
        listを自由自在に操れて、人の書いたelispを書き直せる
        マイナーモードやメジャーモードをスクラッチから書ける
    中級者 Emacsにパッチをあてはじめる
    上級者 Emacsをスクラッチから書ける
    82 : 名無しさん@お腹 - 03/10/16 16:29 (+46,+28,-1)
    中級は尊い。
    83 : 名無しさん@お腹 - 03/10/16 17:58 (+34,-30,-156)
    >>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 : 名無しさん@お腹 - 03/10/16 18:18 (+54,+26,+0)
    >>83
    訂正するほどじゃない。
    85 : 名無しさん@お腹 - 03/10/16 18:21 (+2,-29,-4)
    スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。
    86 : 名無しさん@お腹 - 03/10/16 18:42 (-1,-29,-8)
    #' を付けるほうが好きだけど、
    nemacsからも利用する設定ファイルには使えない悲しさ。
    87 : 名無しさん@お腹 - 03/10/16 19:01 (+65,+29,-1)
    >81 漏れはいまだ初心者でつね
    88 : 名無しさん@お腹 - 03/10/18 01:53 (+75,+29,-11)
    >>81
    上級者というのはxyzzyの亀井さんくらいのレベルなのか…。
    道は遠い…というより一生かかってもムリ
    89 : 名無しさん@お腹 - 03/10/18 21:16 (+126,+30,-61)
    初心者 寄せ集めでも女を集めて、ハーレム を作れる
    初級者 性器表現を操れて、簡単なエロ本が書ける
        チムポを自由自在に操れて、人に汚された女を調教し直せる
        S モードや M モードをスクラッチから調教できる
    中級者 少女の頃から育成をはじめる
    上級者 女を卵子から作り始める
    90 : 名無しさん@お腹 - 03/10/18 21:25 (+63,+28,+1)
    >>89
    はい、それから~
    91 : 名無しさん@お腹 - 03/10/18 21:34 (+81,+25,-3)
    定義厨は失せて。
    92 : 名無しさん@お腹 - 03/10/21 14:05 (+67,+28,-16)
    >>91
    なんか Emacsスレのほうに飛び火してるみたいだが。
    93 : 名無しさん@お腹 - 03/10/21 19:38 (+73,+28,+0)
    >>89
    初心者のハードルやけに高いな、おい。
    94 : 名無しさん@お腹 - 03/10/22 10:54 (+45,-30,-25)
    >>85
    > スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。

    http://www.mew.org/~kazu/doc/elisp/function.html
    95 : 名無しさん@お腹 - 03/10/22 11:11 (+62,+29,-6)
    >>94
    結局「スタイルの問題」じゃないの?
    96 : 名無しさん@お腹 - 03/10/22 11:26 (+67,-10,-3)
    >94
    kazuのeispは信じられない程アレなので参考にならない。
    97 : 名無しさん@お腹 - 03/10/22 11:43 (+2,-29,-2)
    #' ではなく ' を使うと、バイトコンパイルされない場合がある。ってことでしょ。
    98 : 名無しさん@お腹 - 03/10/22 11:51 (+63,+28,-34)
    >>96
    あ、mew 使ってないんでよく知らないんだけどどのへんがアレなの?
    99 : 名無しさん@お腹 - 03/10/22 13:34 (+32,-29,-17)
    >>97
    でもこのスレでは生のlambdaと functionで囲んだのだけ扱ってて、
    quoteは関係無かったからさ。なのに 94が変な反応するから。
    100 : 名無しさん@お腹 - 03/10/23 12:00 (+3,-30,-106)
    今日、はじめて包囲アドバイスなるものを使ってみマスタ。
    強力すぎてちょっと怖いけど、試しに

    ;; デフォルト動作でそのウィンドウも消すようにする。
    (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 スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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