- 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 ではひとつ、コード中心の熱いバトルをよろぴく。
- 81 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 07:53]
- 初心者 寄せ集めでも.emacsを作れて、キーバインドができる
初級者 正規表現を操れて、簡単なelispが書ける listを自由自在に操れて、人の書いたelispを書き直せる マイナーモードやメジャーモードをスクラッチから書ける 中級者 Emacsにパッチをあてはじめる 上級者 Emacsをスクラッチから書ける
- 82 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 16:29]
- 中級は尊い。
- 83 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 17:58]
- >>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 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 18:18]
- >>83
訂正するほどじゃない。
- 85 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 18:21]
- スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。
- 86 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 18:42]
- #' を付けるほうが好きだけど、
nemacsからも利用する設定ファイルには使えない悲しさ。
- 87 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/16 19:01]
- >81 漏れはいまだ初心者でつね
- 88 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/18 01:53]
- >>81
上級者というのはxyzzyの亀井さんくらいのレベルなのか…。 道は遠い…というより一生かかってもムリ
- 89 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/18 21:16]
- 初心者 寄せ集めでも女を集めて、ハーレム を作れる
初級者 性器表現を操れて、簡単なエロ本が書ける チムポを自由自在に操れて、人に汚された女を調教し直せる S モードや M モードをスクラッチから調教できる 中級者 少女の頃から育成をはじめる 上級者 女を卵子から作り始める
- 90 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/18 21:25]
- >>89
はい、それから〜
- 91 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/18 21:34]
- 定義厨は失せて。
- 92 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/21 14:05]
- >>91
なんか Emacsスレのほうに飛び火してるみたいだが。
- 93 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/21 19:38]
- >>89
初心者のハードルやけに高いな、おい。
- 94 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 10:54]
- >>85
> スタイルの問題でしょ。emacs/lisp/*.el 見ても両方使われてる。 www.mew.org/~kazu/doc/elisp/function.html
- 95 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 11:11]
- >>94
結局「スタイルの問題」じゃないの?
- 96 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 11:26]
- >94
kazuのeispは信じられない程アレなので参考にならない。
- 97 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 11:43]
- #' ではなく ' を使うと、バイトコンパイルされない場合がある。ってことでしょ。
- 98 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 11:51]
- >>96
あ、mew 使ってないんでよく知らないんだけどどのへんがアレなの?
- 99 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/22 13:34]
- >>97
でもこのスレでは生のlambdaと functionで囲んだのだけ扱ってて、 quoteは関係無かったからさ。なのに 94が変な反応するから。
- 100 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 12:00]
- 今日、はじめて包囲アドバイスなるものを使ってみマスタ。
強力すぎてちょっと怖いけど、試しに ;; デフォルト動作でそのウィンドウも消すようにする。 (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 ウィンドウなんかもそんな挙動になってくれるからスゴイ楽でし。 でもやっぱし怖いす。
- 101 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 14:51]
- 包囲アドバイスって訳語は、日本語infoで使われちゃっていますけど、
あまり良さそうに思えないですね。語感が合わなくて。
- 102 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 06:20]
- >>96
> kazuのeispは信じられない程アレなので参考にならない。 どのへんが?
- 103 名前: ◆kXMewIMy86 mailto:sage [03/10/24 06:28]
- ま、いろいろとね。。。
- 104 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 08:30]
- >>103
FUD?
- 105 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 12:41]
- >>104
そうとも言いきれなさそうだから困る。 リスト遊びの評判もだが。
- 106 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 14:45]
- >>105
広瀬さんの本はどう?
- 107 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 17:10]
- 「リスト遊び」は純粋にとても良かったと思うが。
mewは使ってないからコードの評価はしないけど。
- 108 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 20:33]
- 2章を頭からちょっと読んでみたが
- nil を偽値として紹介した直後に not でなく null を紹介。 その後で空リスト。 偽値と空リストがごっちゃになってる taste がしてイヤでつ。 同じ lisp ばかりじゃねえんだぞと。 - predicate は「述語」でなしに「断言する」でよかったんだっけか? - "\n" が改行文字にすりかわるのは評価じゃなくてリーダーの問題だろ \n ならいいけど \\ が出てきたらこんな理解で困るんじゃないか。 regexp を扱うようになったらパニックだろ。 とか考えた漏れは逝ってよしでつか
- 109 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 20:50]
- でつ
- 110 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 20:54]
- >>108
> 同じ lisp ばかりじゃねえんだぞと。 違う Lisp 知らない。教えて。 Scheme は Lisp じゃないし。
- 111 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/25 09:12]
- >>99
まだ理解できていないようで・・・
- 112 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/25 09:30]
- >>111
あのー、罵倒されても構いませんから、 (lambda ...) と (function (lambda ...)) で具体的に何が変わってくるのか、 もうちょっと詳しく教えてください。 俺の理解では、バイトコンパイルされてしまえば同じ。 そのままだったら、functionのほうがマクロ展開ないぶん、 微妙に速いかもしれない(俺の勝手な推測)というところなんですが。 # quoteの場合が違うのは分かっています。
- 113 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/25 14:44]
- それでいいんじゃないの? 個人的には (lambda ...) よりも #'(lambda ...)
のほうがパッと見たときにわかりやすいので好み。
- 114 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 10:49]
- 時間がかかる処理をしていて、何かキーが押されたら中断する、ということを
考えています。試しに下のようなのを書いてみました。 (defun g () (interactive) (let ((i 0)) (while t (setq i (1+ i)) (when (input-pending-p) (keyboard-quit))))) これはうまくいきました。 今、やりたいのは 上記のwhile部分がブラックボックス扱いのときで、 (defun heavy-proc () (let ((i 0)) (while t (setq i (1+ i))) i)) という関数の中身を変更せずに、呼び出した後でキー入力があれば中断して戻 るということがしたいのです。割り込みのような感じです。 (defun f2 () (interactive) (condition-case nil (heavy-proc) ..... とやればいいのかなと思ったのですが、肝心のキーが押されたらエラーを発生 するやり方がさっぱり見当がつかないのです。 なにか良い方法を知っておられましたら、教えてやってくださいまし。
- 115 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 11:42]
- >>114
condition-case で quit 取るんじゃだめなん?
- 116 名前:114 mailto:sage [03/10/26 18:05]
- >>115
アドバイスありがとうございます。 (defun heavy-proc () (let ((i 0)) (while t (setq i (1+ i))) i)) (defun f2 () (interactive) (condition-case nil (heavy-proc) ((quit) (message "aborted.")))) こういうことでしょうか。 これだと、C-g以外のキーを押したときは中断できません。 もうちょっと練ってみます。
- 117 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/27 01:23]
- 全てのキーに signal発生させるよう設定したキーマップ使用すれば
いけるかも? signalの代わりに throwでもいいけど。
- 118 名前:114 mailto:sage [03/10/27 09:49]
- >>117
試しにこうしてみましたが… (defvar tmp-map nil "temporary key map for aborting.") (defun f2 () (interactive) (let ((previous-keymap (copy-keymap (current-local-map)))) (if tmp-map nil (setq tmp-map (make-sparse-keymap)) (define-key tmp-map "a" 'keyboard-quit) (define-key tmp-map "b" 'keyboard-quit) (define-key tmp-map "c" 'keyboard-quit)) (use-local-map tmp-map) (condition-case nil (heavy-proc) ((quit) (message "aborted."))) (use-local-map previous-keymap))) 中断してくれない(^^;
- 119 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/27 10:25]
- うーん、自分で bindした keyboard-quitと
C-g は扱いが違うって事なのかな?
- 120 名前:114 mailto:sage [03/10/27 11:47]
- >>119
今度は以下のようにsignalを使ってみましたが… (defvar tmp-map nil "temporary key map for aborting.") (defun my-quit () (interactive) (signal 'quit nil)) (defun f2 () (interactive) (let ((previous-keymap (copy-keymap (current-local-map)))) (if tmp-map nil (setq tmp-map (make-sparse-keymap)) (define-key tmp-map "a" 'my-quit)) (use-local-map tmp-map) (condition-case nil (heavy-proc) ((quit) (message "aborted."))) (use-local-map previous-keymap))) 相変わらず、中断せずでした。 edebugで追いかけてみると、キーマップ自体は変わってくれているのですが、 heavy-procを呼び出したらC-g以外をセンスしてくれないような感じがします です。
- 121 名前:114 mailto:sage [03/10/27 12:30]
- 助言を元に調べました。
なんとなく分かってきた気がします。(気がするだけかも…) (defun heavy-proc () (let ((i 0)) (while t (setq i (1+ i))) i)) (defun f3 () (interactive) (let ((previous-keymap (copy-keymap (current-local-map))) (previous-input-mode (current-input-mode))) (set-input-mode t nil 0 ?a) (condition-case nil (heavy-proc) ((quit) (message "aborted."))) (use-local-map previous-keymap) (set-input-mode (car previous-input-mode) (nth 1 previous-input-mode) (nth 2 previous-input-mode) (nth 3 previous-input-mode)))) キーマップ再定義はせずに、上記のようにすると aキーで中断できるようにな りますた。あとはこれを全部のキー文字に割り当てれば、と考えたのですが… (set-input-mode t nil 0 '(?a ?b)) のような複数指定は不可 (set-input-mode t nil 0 nil) ではデフォルトのC-gになる の様です。…もはや手詰まりか…
- 122 名前:114 mailto:sage [03/10/28 10:24]
- ふと思い立って、
(keyboard-translate ?b ?\C-g) とかやってみましたが、やはり中断してくれませんね。 コマンドループ内でC-gというのはかなりの特別扱いの感じがします。 こんなローレベルな関数が効かないなんて…。 # emvaders.elとかどうやってるのかな。ゲームなら割り込みみたいな処理を してると思うんだけど。
- 123 名前:114 mailto:sage [03/10/28 10:53]
- emvaders.elでは input-pending-pで処理してますた。
ゲーム的にはこのやり方は納得です。 にしても、ハマりすぎです。 誰かお願いです。ひとつ叩いてやってください。ガツンと。
- 124 名前:114 mailto:sage [03/10/29 15:54]
- 苦肉の策として、「最後に押したキーで中断する」というのを考えてみました。
(defadvice heavy-proc (before input-set disable) (set-input-mode t nil 0 last-input-event)) (defun heavy-proc () (interactive) (let ((i 0)) (while t (setq i (1+ i))) i)) (defun f3 () (interactive) (let ((previous-input-mode (current-input-mode))) ;; enable advice (ad-enable-advice 'heavy-proc 'before 'input-set) (ad-activate 'heavy-proc) (condition-case nil (heavy-proc) ((quit) (message "aborted."))) ;; disable advice (ad-disable-advice 'heavy-proc 'before 'input-set) (ad-activate 'heavy-proc) (set-input-mode (car previous-input-mode) (nth 1 previous-input-mode) (nth 2 previous-input-mode) (nth 3 previous-input-mode)))) ややこしいやり方になってしまいました。
- 125 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/29 16:16]
- unwind-protect使ったほうがいいよ。
- 126 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/29 16:46]
- なぜ C-g で quit がいやなのかようわからんが、アドバイスせんでも
(let ((previous-input-mode (current-input-mode))) (unwind-protect (progn (apply #'set-input-mode `(,@(butlast previous-input-mode) ,last-input-event)) (heavy-proc)) (apply #'set-input-mode previous-input-mode))) でいいような。
- 127 名前:114 mailto:sage [03/10/29 17:56]
- >>125, 126
助言、ありがとうございます。 今まで、unwind-protect は実際にどういう場面で用いるのかわかりませんでしたが、 なんかわかったような気がしますです。 > なぜ C-g で quit がいやなのかようわからんが、 bf-mode.elというelispをいじくっているのですが、html をw3mで表示したと きに重いので、キャンセルの手段が欲しいと思ったのです。
- 128 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 01:09]
- C-gでいいじゃん…
- 129 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:47]
- ファイルへの出力ってどうやってするんですか?
とりあえずhoge.txtに"hoge\n"と書いて出力する程度でいいんですが。
- 130 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:53]
- write-regionでいいじゃん…
- 131 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/30 21:58]
- >>130
さんくす! ググってもよく分らなかったもので。
- 132 名前:名無しさん@お腹いっぱい。 mailto:age [03/11/15 19:21]
- 【徹底的】プログラマーが語るviとemacs 7【バトル】
pc.2ch.net/test/read.cgi/prog/1064605855/ 514 :仕様書無しさん :03/11/15 14:09 Vimの方がEmacsより速いとか言っていた馬鹿が居たなぁ ttp://msdn.microsoft.com/seminar/shared/asp/view.asp?url=/msdntv/episodes/en/20031028lhorndb/manifest.xml&rate=1&WMPVer=9.0.0.3008 どう見てもEmacsの方が速いなプッ 以前のこれと比べてみろよ ttp://seriss.com/people/erco/fltk-videos/tutorial-fltk-hello.html ダセーーー(藁 なんか、Vim抜けてプロンプトでコンパイルしてまた開いてるよプッ しかも、Emacsの方が断然速いな〜 いい加減乗り換えた方が良いんじゃねぇか(藁 それにしてもM$のプログラマホモくせーな
- 133 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/06 19:06]
- もはや、このスレもこれまでか…
がんばってる同士はおらんのだろうか。
- 134 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/06 22:27]
- 2ch以外で頑張ってます。
- 135 名前:名無しさん@お腹いっぱい。 [03/12/07 17:16]
- たとえば、それはどこなんでしょう?
- 136 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 02:40]
- あのー質問なんですが,
あるファイルの内容を調査したい場合,Emacs Lisp だと 対象となるファイルを一旦 find-file とかで 全て読み込まなくちゃ駄目なんでしょうか…? 外部プロセスに逃げると言う手も考えましたが, そんなものを使うよりは,Emacs Lisp のみで完結したいので…
- 137 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 03:10]
- etagsとか?
ってか、どんな調査したいのかにもよるのでは?
- 138 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 10:17]
- dired で % g
- 139 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/10 10:30]
- 全部読まなくても
(insert-file-contents FILENAME &optional VISIT BEG END REPLACE) でファイルの一部だけを読む事ができるよ。
- 140 名前:136 mailto:sage [03/12/11 23:27]
- 御回答どもです
>>137 どんな調査ってのはイロイロあるものの, コレさえ解決できればってのは無くて, 要は, open→無視して良いデータは破棄しつつ満足するまでread→close ってのをやりたいだけでして… >>139 ありがとうございます。 info読みなおしました… 今まで如何にイイカゲンに読んでたかを思い知りますた… 名前付きパイプとかも読めちゃうんすねコレ…
- 141 名前:名無しさん@お腹いっぱい。 [03/12/26 16:20]
- 一つの関数でλを定義する数は何個ぐらい許されるんでしょうか?
- 142 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 17:03]
- なにがしたいのか分からんが、とりあえず作ってみたら?
もっと意図を明確にしたうえで、ム板のスレで質問するのがいいと思うが。
- 143 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 22:02]
- (defun newschangelog (start end)
"ChangeLog中の不必要な部分を削除" (interactive "r") (save-excursion (save-restriction (narrow-to-region start end) (goto-char start) (replace-regexp "^[ \t]*.*STRONG.*" "") (goto-char start) (replace-regexp "^ *<A HREF.*" "") (goto-char start) (replace-regexp "</A></DT>" "") (goto-char start) (delete-matching-lines "^$") (goto-char start) (replace-regexp "^[ \t]*" "\t") ))) * news/index.html: 記事追加 ★ PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品</A></DT> <DT><STRONG>日経BizTech</STRONG> <A HREF="biztech.nikkeibp.co.jp/wcs/show/leaf/CID/onair/biztech/comp/247927"> 日本SGI、Linux向けのシステム構築支援サービス</A></DT> <DT><STRONG>c|net</STRONG> <A HREF="japan.cnet.com/svc/rss?id=1261.47623.54525"> 日本国内のLinuxサーバ市場:ビジネス利用には課題が多い</A></DT> ☆ 上記★から☆までがリージョンに指定されている状態だとします。このとき、 カーソルが★にあるのか☆にあるのかで、M-x newschangelog の結果が異なり ます。
- 144 名前:143の続き mailto:sage [03/12/26 22:03]
- 具体的には、カーソルが☆にあると
PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品 <DT><STRONG>日経BizTech</STRONG> 日本SGI、Linux向けのシステム構築支援サービス <DT><STRONG>c|net</STRONG> 日本国内のLinuxサーバ市場:ビジネス利用には課題が多い となり、カーソルが★にあると PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品 日本SGI、Linux向けのシステム構築支援サービス 日本国内のLinuxサーバ市場:ビジネス利用には課題が多い となります。 希望する結果は、カーソルが★☆のどちらにあっても PTCジャパン、Linux対応Pro/EをLinux World Expoに参考出品 日本SGI、Linux向けのシステム構築支援サービス 日本国内のLinuxサーバ市場:ビジネス利用には課題が多い のようになることです。添削おねがいします。
- 145 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/26 23:41]
- なんか例示されてるのと違い、空行が入ってしまうなーと思ったら、
transient-mark-mode かどうかで挙動が違うな。 で、offにして試してみたけど、どちらも okっぽかったけれど。
- 146 名前:143 mailto:sage [03/12/27 00:21]
- 検証ありがとうございます。おっしゃるとおり、手元の Emacs 20.7.2 を
\emacs -qで起動すると、★☆どちらにカーソルがあっても希望の結果になり ました(transient-mark-mode t/nil のどちらも)。 ところが、XEmacs 21.1 を \xemacs -q で起動させて確認したところ、 transient-mark-mode t/nil どちらの場合も 144 に書いた結果になるのです。 常用しているのは XEmacs なので、それで希望の結果が出て欲しいのです。 皆様のアドバイスをいただきたく思います。よろしくお願いします。
- 147 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/27 05:08]
- replace-regexp を
(while (re-search-forward REGEXP nil t) (replace-match TO-STRING nil nil)) にすれば直るはず。 特別な理由がない限り lisp program 中で replace-regexp は使わないほうが いいです。 perform-replace を参照。
- 148 名前:143 mailto:sage [03/12/27 22:46]
- 147氏のおっしゃるように修正したところ、XEmacs, Emacs の両者で
希望の動作をしてくれるようになりました。ありがとうございます。
- 149 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 14:13]
- >>1 のelispリファレンス-ja
ttp://www.fan.gr.jp/~ring/doc/elisp-manual/elisp.html は 27章 ウィンドウ がまるごと抜けてるからちょっと不便ですた。 ちょっと探したら、 www.i.kyushu-u.ac.jp/~s-fusa/doc/elisp-manual-20-2.5-jp/elisp-ja.html を発見。こっちはちゃんと27章があるじょ。 スタイルシートでカラフルで見やすいなり。 にしても、emacs21版のelispリファ-ja は まだどこにもないんでしょか。
- 150 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 14:43]
- 149が訳すことにケテーイしますた。
- 151 名前:名無しさん@お腹いっぱい。 [04/01/04 16:33]
- がんがれー
- 152 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/04 17:13]
- www.gnu.org/software/emacs/elisp-manual/html_chapter/elisp_51.html#SEC729
これだけ訳せばいいんだろうか?
- 153 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 19:56]
- >>152
駄目. www.i.kyushu-u.ac.jp/~s-fusa/doc/elisp-manual-20-2.5-jp/elisp-ja_1.html#SEC4 にあるように,日本語は改変が認められていません. 故に公開したければ,全文を訳し直す必要がある.
- 154 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 21:01]
- その GPL 和訳の由来はここ。
www.sra.co.jp/public/doc/gnu/gpl-2j.txt これにも同じく > ・和文文書の本文を改変しないこと。 とある。つまり、禁止してるのは「GPL の和文本文」の改変であって、 Emacs Lisp Reference Manual の和文ではない。 そもそも、元の文書が GPL なのだから改変禁止は不可能。
- 155 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/05 23:46]
- 恐ろしいほどの部分引用だな
- 156 名前:名無しさん@お腹いっぱい。 mailto:asage [04/01/23 04:41]
- asm-mode で新規作成/既存ファイル開く、でファイル先頭に;(コメント文字) が
自動的に挿入されてしまうんだけど、これを抑制する方法ないでつか?
- 157 名前:名無しさん@お腹いっぱい。 mailto:sage [04/01/23 09:11]
- それだけでは、うちではそんなことはないとしか言いようがないよ。
それは本当にasm-modeが入れているものなのかな?
- 158 名前:名無しさん@お腹いっぱい。 mailto:156 [04/01/23 11:26]
- -q つけて起動したら再現しませんでした…出直してくるぽ。
新規作成したバッファの状態を監視しつつ edebug でステップ実行したいんですけど、 バッファが見当たらない… asm-mode が 呼ばれたときはバッファが存在してるはずでつよね?
- 159 名前:156 mailto:sage [04/01/23 11:29]
- まちがえて age ちゃった。 ごめんでつ。>>158 は >>156 です。
- 160 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:00]
- 最近の elisp では when とか unless とか出て来るんですけど、
わたしは while と if と cond くらいしか使いません。 when, unless の利点は何ですか?
- 161 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:01]
- >>160
progn 使わなくていい
- 162 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:29]
- whenとあったとき、ifと違い条件の成立しなかった時の処理はないのだと
一目で分かる。
- 163 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:38]
- 欠点はいらんのか
- 164 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/02 02:45]
- 別に ifと置換えとかじゃないし、単純すぎる構文だから欠点もなにも……。
- 165 名前:160 mailto:sage [04/02/02 02:55]
- ってことは別に無理して使わなくてもいいってことか。
マクロってよくわかんないけど subr.el 見たら、if に置き換えてるだけみたいね。
- 166 名前:名無しさん@お腹いっぱい。 [04/02/06 02:12]
- navi2chなんかで、エンター押したらその行に関係する動作をする機能を作るには
何を使えばいいのでしょうか。 key map を使うのかと思ってnavi2chのソースをみたのですが、 define-key map [return] という行は見つかりませんでした。
- 167 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 03:23]
- そのレベルの質問なら、navi2chスレのほうが適切と思うが。
- 168 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 04:15]
- (define-key map "\r" 'navi2ch-article-select-current-link)
- 169 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 04:45]
- 今回の場合、describe-key で returnに対応するコマンドを調べて、
それを元に grepすれば >>168が見つかりますな。
- 170 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 11:48]
- C-h w RET
- 171 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 11:49]
- w じゃなくて k だ
- 172 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 12:08]
- ある関数内で auto-compression-mode を有効に束縛したいんですが
(let ((auto-compression-mode t)) (insert-file "foo.gz")) じゃ駄目なんですね。 (let ((current auto-compression-mode)) (auto-compression-mode t) (insert-file "foo.gz") (auto-compression-mode current)) こうすべきもんなんでしょうか。なんかもっとスマートな方法ありますか?
- 173 名前:166 mailto:sage [04/02/06 12:15]
- >>167-171
みなさんありがとうございました。 勉強になりました。 [return] ではなくて"\r"で定義してあるんですね。
- 174 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 12:21]
- >>172
> じゃ駄目なんですね。 変数じゃないならだめだよ。
- 175 名前:172 mailto:sage [04/02/06 12:36]
- >>174
いちお変数でもあるんですけどね、って今見てみたら docstring に Setting this variable directly does not take effect; と書いてあった…失礼しますた。やっぱあんな方法でやるしかないのかなあ。
- 176 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 13:23]
- with-auto-compression-mode
- 177 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/06 18:24]
- >>176
おーありがとうです。こんなのがあったのか。感謝。
- 178 名前:名無しさん@お腹いっぱい。 [04/02/06 22:10]
- emacs21のtool-bar にあるプリンタアイコンはprint-bufferですが、
これを.emacsでpostscript-print-bufferに変えたいんですが、どうやれば 良いすかね?
- 179 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/07 00:26]
- (setq tool-bar-map (delq (assq 'print-buffer tool-bar-map) tool-bar-map))
(tool-bar-add-item-from-menu 'ps-print-buffer "print") でどうでしょ
- 180 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/09 16:51]
- 空のファイルを作成したいのですがどうやればいいんでしょうか?
動作としては↓のような感じです。 % touch hoge (hogeというファイルは存在していないとして)
- 181 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/09 17:27]
- (write-region (point-min) (point-min) "hoge" t)
|

|