1 名前:デフォルトの名無しさん [2007/10/09(火) 05:39:53 ] Emacs Lisp の専用スレ。 少数派による互助を中心に、初心者の相談も気が向けば受け付けます。 単なる Emacs ユーザーは別板の Emacs 関連スレにどうぞ。 過去スレ Emacs Lisp pc2.2ch.net/test/read.cgi/tech/1004551074/ Emacs Lisp 2 pc11.2ch.net/test/read.cgi/tech/1068467385/ 関連スレ Emacs part 22 pc11.2ch.net/test/read.cgi/unix/1180828013/ 【叩かれて】Emacs Lisp道場【強くなれ】 pc11.2ch.net/test/read.cgi/unix/1063880951/ Lisp Scheme Part18 pc11.2ch.net/test/read.cgi/tech/1186922295/
136 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:31:26 ] the car that's always in front of you というネタの原型はフォードT型。 あまりに売れすぎて、「どんなレーシングカーもフォードTの前に出ることはできない。どれだけ抜いてもまだ前にもう1台いる」というジョークが生まれたので。 スーパーカーとの対比で、性能はプアだけどみんなが使ってる普及版っていうニュアンスだろうな。 elispはよくも悪くもEmacsと切り離せないものなので、本当に言語の勉強をしたいならcommon lispかschemeのほうがいいよ。 逆にEmacsいじって遊びたいならelisp使うしかないし。
137 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 16:39:45 ] >>136 134だが勉強になった。トン
138 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 18:12:24 ] >>136 > elispはよくも悪くもEmacsと切り離せないものなので、本当に言語の勉強をしたいならcommon lispかschemeのほうがいいよ。 言語の勉強したいまでは、まだ至っていません Emacsを使いこなせるようになりたいだけで Schemeは、知っていて損はなさそうですね チュートリアルの語彙も特徴的で好奇心をそそられる 英語・日本語の資料も豊富そうで資料には、困らないだろうし プログラマとしての幅が広がるなら、なおうれしいかな
139 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:26:28 ] 俺はバッファ、リージョン、選択範囲なんか用の map関数を書いてよく使ってるんだがこれ便利よ 色々関数を別途定義しといて 関数を行に対して呼び出す 2chに書き込むときによくやるのは タブ→スペース変換と 半角スペース→nbsp変換 こうするとプログラムはインデントされて見やすい ところで、久しぶりにここきたんだが xyzzyスレってどこいったの? 見つからないんだけど
140 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:34:37 ] ソフトウェア板とWindows板に1つずつあるよ。
141 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:45:02 ] あったあった、さんきゅー
142 名前:デフォルトの名無しさん [2009/02/19(木) 18:25:06 ] 行の(半角相当で)80文字目の位置をを色づけしたいとおもったんですが, とりあえず思いついた '(("^......................................................\ .........................\\(.\\)" 1 highlight-long-line-face append)) というのをfont-lock-add-keywordsして加えたところ、 当然ながら全角文字をいれると後ろにずれました 半角で80文字目の位置をを色づけする方法について、 なにかお知恵を拝借できませんでしょうか?
143 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 19:21:13 ] www.emacswiki.org/emacs/ColumnMarker
144 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:19:43 ] 質問者じゃないけど めちゃめちゃ重いなそれw
145 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 15:29:29 ] >>143 ありがとうございます そんなものが作られてたんですね、試してみます
146 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:05:35 ] >>144 うまい工夫をしないと速くならないだろうからなぁ。常に80文字目を数えるって いうことだしね。
147 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:00:47 ] cygwin環境下でgaucheをリッチに使いたくて 行ごとに色を変えたいんですが教えてください まさに自分がやりたいことがこれ ttp://pitecan.com/codeblog/2006/01/emacs.html 上のプログラムをざっと読んだ感じ、 色の変更に関するプリミティブな部分ってのは 「put-text-propertyに背景色を設定したfaceを設定する」 というように感じたのですがあってますか? それらしきコードを書いてみたのですがうまくいかず・・ (setq symbol (make-symbol "test")) (setq face (make-face symbol)) (set-face-background face "DarkSeaGreen1") (point) 134 ←評価結果 (point) 146 ←評価結果 (put-text-property 134 146 'face face)
148 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:02:07 ] あ、補則。このコードは行は意識してなくて、とりあえず指定箇所の背景色を変えたいだけです
149 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:19:05 ] とりあえずfont-lock-faceにしたら動いたけど (put-text-property 1 20 'font-lock-face 'highlight)
150 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:39:13 ] ありがとうございます。 それを実行したときはtが返るんですよね? M-x list-faces-displayで書いてあるフェイスをいくつかうちこんでは見ましたが 自分の環境ではnilが返ってきて色が変わらないです ↓動作はよくわかってませんが、これを切り替えた場合はちゃんと色が変わります (global-font-lock-mode t) (global-font-lock-mode nil) 今日は寝て、また明日調べてみますわ
151 名前:デフォルトの名無しさん [2009/02/25(水) 12:19:45 ] ver22で拡張された \,(function \1) みたいなのが replace-match では使えない(不正な\エラーになる)のは何で? こんな感じ↓ (re-search-forward "\\(.+\\)" nil t) (replace-match "\\,(my-func \\1)" nil nil) => Invalid use of `\' in replacement text
152 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 15:06:59 ] est
153 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 17:08:20 ] >>151 君の頭が腐っているというのを疑った方がいいよ
154 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 00:26:35 ] >>151 プログラマブル正規表現だっけ? よくわからん
155 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 01:11:40 ] プログラマブルなのが使えるのは、インタラクティブに実行した場合だけでしょ。 NEWS *** When used interactively, the commands `query-replace-regexp' and `replace-regexp' allow \,expr to be used in a replacement string, ちなみに replace-regexp を実行したら次のように展開された(repeat-complex-command)。 (replace-regexp "\\(.+\\)" (quote (replace-eval-replacement replace-quote (my-func (match-string 1)))) nil (if (and transient-mark-mode mark-active) (region-beginning)) (if (and transient-mark-mode mark-active) (region-end))) で、replace-regexp をプログラムの中で使うのはbadなので、 (while (re-search-forward "\\(.+\\)" nil t) (replace-match (my-func "\\1") nil nil))
156 名前:151 mailto:sage [2009/02/28(土) 01:47:45 ] >> 154 そんな名前があるとは知らなんだ。 google先生は記号の検索には弱いしね・・・ >> 155 サンクス。インタラクティブ専用だったんだ。 よく使う置換の組を「お気に入り」みたいに登録して一発で呼び出せるlispを作ってたんだけど、 仕組み上、正規表現は自由に指定可能だから関数決めうち実行ができなくて。 プログラマブル正規表現は非対応とあきらめるしかないか。
157 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:23:53 ] >> と数字の間は開けないで
158 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:18:39 ] 起動時にインタラクティブな関数を自動的に呼び出すにはどうしたらいい? 2画面で起動して、片方にSchemeインタプリタを起動したい 2画面の分割は、.emacsに(split-window-vertically)を追記したらうまくいったが M-x run-schemeが呼び出せないんだ
159 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 22:50:34 ] (run-scheme) ではだめなのけ?
160 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:14:03 ] だめぽ。そうするとこんなわけわからんエラーが出る Wrong number of arguments: #[(cmd) "\304\305!\204^Y^@\306^H!^Y\307\310\311 @\312 A%q\210\313 \210)^H^R\305^S\314\305\ !\207" [cmd cmdlist scheme-program-name scheme-buffer comint-check-proc "*scheme*" scheme-args-to-list apply make-comint "s\ cheme" nil inferior-scheme-mode pop-to-buffer] 6 ("/usr/share/emacs/21.2/lisp/cmuscheme.elc" . 6428) (list (if current-pref\ ix-arg (read-string "Run Scheme: " scheme-program-name) scheme-program-name))], 0
161 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:18:46 ] describe-function(C-h f)ぐらい覚えような
162 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:29:14 ] >>160 (run-scheme scheme-program-name)
163 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:48:57 ] (call-interactively 'run-scheme)
164 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:28:41 ] >>161-163 d牛d牛トーン・・カツ! すばらしく快適な環境になった
165 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 17:07:00 ] >>164 (call-interactively 'run-scheme) これしらんかった、すげぇ勉強になった、ありがとう いままでintaractive関数の機動失敗時はいつも.elの中調べてた。