1 名前:名無しさん@お腹いっぱい。 [2011/11/29(火) 17:50:44.24 ] 前スレ Emacs Part 38 hibari.2ch.net/test/read.cgi/unix/1308635178/
397 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:32:56.01 ] よーわからんけど C-q C-i でタブ文字強制入力じゃだめ?
398 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:33:24.10 ] C-q TAB で純粋にタブ移動できるけど恒久的にやる方法はちょっとわからない。 というかいつの間に indented-text-mode = text-mode になってたんだ・・気づかなかった。
399 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:41:12.31 ] もっとまともな方法があるとは思うけど↓でtext-modeのTABは強制的に\tになる。 (add-hook 'text-mode-hook (lambda () (setq indent-line-function (lambda () (insert " "))) ))
400 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 22:41:52.06 ] " " のところは C-q C-i でタブが入力されてると思ってくれ。
401 名前:396 mailto:sage [2011/12/31(土) 22:54:22.58 ] >>397-400 ありがとうございます。 >>399 これで完璧に解決しました。とても助かりました。
402 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 23:11:00.92 ] TAB関連で tab-to-tab-stop の文字位置へ移動するにはどんなコード書けばいいんだろう?
403 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/31(土) 23:14:38.73 ] (move-to-tab-stop)じゃあかんの?
404 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 00:07:44.48 ] Elispをすらすら書ける人は 普段からlispに慣れている人なのかな 尊敬するわ
405 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 01:15:55.55 ] 一口にLispっつーても色々あって、それぞれノウハウ違うから elispをスラスラ書ける人は普段からelispに慣れてる人だと思う
406 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 01:48:01.75 ] リストの処理とかがスラスラ書けても バッファの弄り方とかテキストプロパティとかオーバレイとか辺りになってくると あんまりLisp関係ないもんね。
407 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 12:40:54.90 ] 暇なので elisp 紹介 ■emacs で google map 表示 julien.danjou.info/software/google-maps.el M-x google-maps して地名を入れるとpopupしたバッファに地図が表示される そのままだと地名がアルファベットになっちゃうので以下を追加 (eval-after-load "google-maps" '(defadvice google-maps-static-show (before google-maps-set-lang activate) (ad-set-args 0 (append '(:language "ja")) (ad-get-args 0)))) popwin の管理下に入れておくとうっとおしくなくて良い。
408 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 12:43:07.23 ] oh... ちょっと間違った ↓ね。 (defadvice google-maps-static-show (before google-maps-set-lang activate) (ad-set-args 0 (append '(:language "ja") (ad-get-args 0))))
409 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 13:35:41.22 ] >>407 dd、これはいいねぇ
410 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 13:46:38.69 ] おれもー どっかから拾ってきた奴 yankしたとき貼りつけた内容がハイライトされる popup-kill-ring つこうてる人は popup-kill-ring-interactive-insert が t じゃないと ちゃんと反応してくれない (defadvice yank (after yank-highlight-string activate) (let ((ol (make-overlay (mark t) (point)))) (overlay-put ol 'face 'highlight) (sit-for 0.5) (delete-overlay ol))) (defadvice yank-pop (after yank-pop-highlight-string activate) (when (eq last-command 'yank) (let ((ol (make-overlay (mark t) (point)))) (overlay-put ol 'face 'highlight) (sit-for 0.5) (delete-overlay ol))))
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:04:21.29 ] せめて unwind-protect で overlay の後始末はするべきだな。
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:08:16.25 ] >>411 にならって直してみた (defadvice yank (after yank-highlight-string activate) (let ((ol (make-overlay (mark t) (point)))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol)))) (defadvice yank-pop (after yank-pop-highlight-string activate) (when (eq last-command 'yank) (let ((ol (make-overlay (mark t) (point)))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol)))))
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 15:11:01.01 ] いいですね。いただきます。
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 16:34:08.50 ] >>412 の真似して undo で文章が復帰した時にもハイライトするようにしてみた。 もうちょっとマシな書き方出来ないか誰か添削してくれると嬉しい。 やってることは、 buffer-undo-list を頭からたどっていって ・(integerp . integerp) の cons セルにあたったらその範囲をハイライトしてループ終了 ・(stringp . なんか) の cons セルにあたったらループ終了 (defadvice undo (after flash activate) (catch 'loop (dolist (c buffer-undo-list) (let ((beg (car c)) (end (cdr c))) (cond ((and (integerp beg) (integerp end)) (let ((ol (make-overlay beg end))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol) (throw 'loop nil)))) ((stringp beg) (throw 'loop nil)))))))
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 16:57:08.39 ] >>412 副作用が怖いですが アドバイス対象をinsert-for-yankにすると一つで済みました
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 17:59:01.61 ] >>414 dolist の中から return で脱出できたような。 けれど自分ならこうするかな。 (defadvice undo (after flash activate) (loop for (beg . end) in buffer-undo-list if (and (integerp beg) (integerp end)) return (let ((ol (make-overlay beg end))) (unwind-protect (progn (overlay-put ol 'face 'highlight) (sit-for 0.5)) (delete-overlay ol))) else when (stringp beg) return nil))
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 18:23:18.31 ] >>416 loop を使うとシンプルになるんですね。 勉強しないといかんなーloop難しい
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/01(日) 19:44:03.56 ] >>416 わかりやすいコードでいいね
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 00:40:25.00 ] NTEmacs スレが沈んだ >>1 が2008年9月とかのんびりした進行だっただけに誰も次スレ建てなかったわけだ
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 14:53:59.03 ] flet で関数を置き換えた際に、その関数内で置き換え前の関数を呼ぶ方法はありませんでしょうか? (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (load file noerror t nosuffix must-suffix))) (load "something")) こんな風にすると再帰してしまいます。
421 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 14:59:40.35 ] symbol-function で関数の実体を取り出してどっかの変数に退避しておいてっ て方法はある。 こんな感じかな? (let ((original (symbol-function 'load))) (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (funcall original file noerror t nosuffix must-suffix))) (load "something")))
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:15:59.61 ] >>421 なるほど!ありがとうございます。これでやりたいことが出来ました。 session.el でセッション復帰時のローディングメッセージを消したかったのでした。 ソースの load してるところを直接書き換えちゃえばそれで済むといえばそれまでなんですが。 (defadvice session-initialize (around session-load-silently activate) "セッションロード時のメッセージ抑制" (let ((org-load (symbol-function 'load))) (flet ((load (file &optional noerror nomessage nosuffix must-suffix) (funcall org-load file noerror t nosuffix must-suffix))) ad-do-it)))
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:37:23.73 ] >>387 www.emacswiki.org/emacs/http-post-simple.el
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:41:37.42 ] >>423 そんな標準で用意されていない elisp 持ち出されても。 むしろそういうのが標準パッケージに取り込まれないあたりが話になんね。 やっぱ url.el はうんこちんちんだな。
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 15:52:00.34 ] どうせemacsから画像のアップロードとかしないからいいんじゃね。
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:13:53.44 ] Gnu pack emacsを使っています (open-file "./index.html")のようにして windowsの関連付けどおりにファイルを開くことは可能でしょうか それらしき関数が見当たらなかったので質問しました
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:19:35.26 ] gnusで仕様的に正しいmime multipartなメッセージ作れるんじゃないの?と思ってみてみたけど multipart/mixedとかは良い感じに実装されてるのにmultipart/form-dataはないのな。惜しいな。
428 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:22:33.06 ] >>426 gnupack で cygwin もセットで導入しているなら (defun open-file (file) (interactive) (start-process "cygstart" nil "cygstart" file)) cygwin いれてないなら cygstart を start に置き換えればいいんじゃないかな。
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 16:26:41.04 ] >>428 interactiveなのに引数必須とはいかがなものか。 (defun open-file (&optional file) (interactive "fFile: ") (start-process "cygstart" nil "cygstart" file))
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:08:05.60 ] >>429 file が nil だとエラーになるだろうし、 &optional がいらない。
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:08:59.52 ] ニワカが増えたな。
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:11:57.96 ] るびきちのせいだ
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:19:09.42 ] >>429 水準の間違いは昔からだろ。ただの勘違いかもしれないけど。
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:20:19.64 ] 神社で除夜の鐘ならせるところってあるんだ? てっきり寺だけかと思ってたんだが。
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:25:14.37 ] るびきちはemacs内で完結しないでどんどん外部のプログラムをelisp内から使えよって言ってるけど 外部のプログラムが入ってくると色んな環境で動かす時めんどくさくてやだ。 elispで完結してる方がいいよ。
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 17:58:55.73 ] elisp遅いし正規表現うんこだし非同期がアレじゃないの? まあ確かに面倒だしキチは嫌いだけどな
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:06:07.02 ] emacs に喋らせたくて google 翻訳使ったのを作ったんだけど、日本語含むのがちゃんと動かない。 url-hexify-string の中で encode-coding-string utf-8 してるから問題ないと思ったんだけど何が不味いんだろう。 助言をください・・・ (require 'url-http) (defvar speech-default-language "en" "デフォルトの言語。") (defvar speech-sound-player "cmd /c start %s" "mp3音声再生プログラム。%s にファイル名が入る。") ;; windows 向け設定 (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive "sMessage: ") (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) temp-file) (with-current-buffer (url-retrieve-synchronously (format "translate.google.com/translate_tts?tl=%s&q=%s? " (or lang speech-default-language) (url-hexify-string text))) (set-buffer-multibyte nil) (setq temp-file (make-temp-file "speech-" nil ".mp3")) (write-region (point-min) (point-max) temp-file nil 'silent) (apply 'start-process "player" nil (split-string (format speech-sound-player temp-file)))))) ;; 以下を評価でしゃべる (speech-message "a happy new year!") (speech-message "a happy new year!" "ja") ;; 言語指定 (speech-message "あけましておめでとうございます" "ja") ;; 動作がおかしい...
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:21:32.48 ] temp-file の中身のぞいてみたら?日本語の結果には明らかに mp3 っぽくな いものが入ってくるけど。google に投げるパラメータが正しいのか確認を。 で、気になったのが英語の方は再生できるとなると、http ヘッダがファイル に残ってても再生できるってことなのか?
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:46:38.58 ] >>438 ヘッダ切り出ししなきゃいけなかったんですね。 MediaPlayerでためしてたからか、先頭にゴミがつまってても再生できてたみたいでした。 >>437 の一部を直してヘッダを切り取ってみましたが、状況変わらずでした。 (point-min) (point-max) temp-file nil 'silent) ↓ (goto-char (point-min)) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) ↓を評価して出来上がる文字列を chrome で表示するとちゃんと「あけましておめでとう・・」って音声が出てくるので emacs側の文字コード変換とかが間違っているんでしょうか・・・ (format "translate.google.com/translate_tts?tl=%s&q=%s " "ja" (url-hexify-string "あけましておめでとうございます")) ↓ "translate.google.com/translate_tts?tl=ja&q=%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%94%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99 "
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 20:47:47.37 ] URL間違ってた・・・ ↓です。 translate.google.com/translate_tts?tl=ja&q=%e3%81%82%e3%81%91%e3%81%be%e3%81%97%e3%81%a6%e3%81%8a%e3%82%81%e3%81%a7%e3%81%a8%e3%81%86%e3%81%94%e3%81%96%e3%81%84%e3%81%be%e3%81%99
441 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 21:43:52.50 ] あとは chrome で送ってる http ヘッダと url-http.el で送ってる http ヘッ ダを調べながら試してくしかないかなぁ。 どうやら User-Agent で弾いてはいないみたいだが。
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:02:11.86 ] >>441 url-debug を t にしてみてみたところ、emacs 側でリクエスト文字列が途中で書き変わってたりということはありませんでした。 他でどうなんだろうとおもって wget で試してみたところ User-Agent に何か適当なのが入っていないと 403 エラーになりました。 指定して取得した結果は英語は大丈夫、日本語は Emacs の時とまったく同じ変な結果が返されてきました。 おっしゃるとおり Chrome のリクエストヘッダと比較して差分を調べて見ることにします。何か足りていないんでしょうね。 ありがとうございました。
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:45:45.02 ] うまくいきましたので報告します。 結論から言って User-Agent でした。"Safari/" が含まれていないとなんでか半分ぐらいに切れた結果が返ってきてしまうようです。 (なのでIEでもEmacsと同じ壊れ方になりました。) あと長過ぎてもダメだったりもするみたいですね。これは通常の Webインターフェースからでも制限かかってるみたいでした。 最終的に以下のようになりました。これで sdic で発音チェックしたり読み方わからない漢字読ませたり出来そうです。 ;; (speech-message "鮃より鰆を食べたい。" "ja") ;; (speech-message "Learn basic keystroke commands." "en") (defvar speech-default-language "en" "デフォルトの言語。") (defvar speech-sound-player "cmd /c start %s" "音声再生プログラム。%s にファイル名が入る。") (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive "sMessage: ") (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (url-privacy-level 'paranoid) (url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0")))) (with-current-buffer (url-retrieve-synchronously (format "translate.google.com/translate_tts?sl=en&tl=%s&q=%s " (or lang speech-default-language) (url-hexify-string text))) (let* ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (temp-file (make-temp-file "speech-" nil ".mp3")) (cmdlist (split-string (format speech-sound-player temp-file)))) (set-buffer-multibyte nil) (goto-char (point-min)) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) (apply 'call-process (car cmdlist) nil nil nil (cdr cmdlist))))))
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 22:50:38.11 ] >>443 環境や目的によるけれど、 open-jtalk なら日本語発声できるよ。 日本語のパースや発音方法を自前でするなら mbrola などでもできる。
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:03:14.58 ] >>443 url.elは糞だ、外部プログラム呼ぶのはキチだって話してる最中にいい度胸だな。
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:09:56.87 ] おもしろいね (setq speech-sound-player "mpg123 %s")
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/02(月) 23:19:58.45 ] おもしろいじゃん カーソル位置の単語を喋らせるのつくってみたよ (defun speech-at-point () (interactive) (speech-message (thing-at-point 'word))) (global-set-key (kbd "C-c C-s") 'speech-at-point) これで日本語対象にしてみたらダメだった 文字列から言語判別出来るようにすればよさそうだな
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 00:37:02.55 ] 自分なりに改造してみた。 取り敢えず非同期に & >>447 の機能をいれた。 > 文字列から言語判別出来るようにすればよさそうだな これはできてない。 あと、エラーになったときにバッファやファイルが削除されないかも。 (defun speech-callback (status &rest cbargs) (unwind-protect (progn (set-buffer-multibyte nil) (goto-char (point-min)) (lexical-let ((temp-file (make-temp-file "speech-" nil ".mp3"))) (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (cmdlist (split-string (format speech-sound-player temp-file)))) (write-region (search-forward-regexp "\n\n") (point-max) temp-file nil 'silent) (set-process-sentinel (apply 'start-process (car cmdlist) nil cmdlist) (lambda (process event) (delete-file temp-file)))))) (kill-buffer))) (defun speech-message (text &optional lang) "指定された文章を音声再生する。" (interactive (list (read-string "Message: " (thing-at-point 'word)))) (let ((coding-system-for-read 'binary) (coding-system-for-write 'binary) (url-privacy-level 'paranoid) (url-request-extra-headers '(("User-Agent" . "Emacs/URI Safari/0")))) (url-retrieve (format "translate.google.com/translate_tts?sl=en&tl=%s&q=%s " (or lang speech-default-language) (url-hexify-string text)) 'speech-callback)))
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 02:44:31.02 ] 手抜きで (or lang (and (string-match "\\cj" text) "ja") speech-default-language)
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 12:03:34.70 ] ちょいとうざいがベルの代わりに声で叱ってもらう '("もう" "だめよ" "しかたないこね" "ちょっとだけよ")とかもいいな (defvar speech-bell-messages '("おい" "こら" "いい加減にせいや" "いてまうぞわれ") "御叱りの言葉") (defvar speech-bell-language "ja" "御叱りの言語") (defvar speech-bell-cur nil) (defun speech-bell-function () "声で叱る" (let ((ring-bell-function nil)) (unless speech-bell-cur (setq speech-bell-cur speech-bell-messages)) (speech-message (pop speech-bell-cur) speech-bell-language))) (setq ring-bell-function #'speech-bell-function)
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:41:41.56 ] そういやemacspeakってのあったよな。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:44:26.85 ] す、すばらしい (speech-message "C'est parfait!" "fr")
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 13:58:29.87 ] >>448 おおー set-process-sentiel で終了を検知すれば後始末が出来るんですね。 勉強になります。
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 14:50:57.48 ] Windowsでcmd /c start とかで再生しちゃうとiTunesだのMediaPlayerとかだのでてうざかったから mplayerのWindows用gui無し版を入れたらはかどった。mpg123のwindowsビルドだとなんでか再生うまくいかなかったので。 www.mplayerhq.hu/design7/news.html (setq speech-sound-player "mplayer -really-quiet %s")
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:00:57.91 ] 今年こそは脱emacsしたい
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:05:52.66 ] >>453 >>448 だと lexical-let を使ったけれど、 (let ((process (apply 'start-process (car cmdlist) nil cmdlist))) (set-process-plist process `(temp-file ,temp-file)) (set-process-sentinel process (lambda (process event) (delete-file (get 'temp-file (process-plist process)))))) という風にするほうが真っ当かもしれない。
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:08:39.08 ] ( ) 脱イ・・・・・・ ( ) | | ヽ('A`)ノ マックス!!! ( ) ノε| __[警] ( ) ('A`) ( )Vノ ) | | | |
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:18:16.09 ] おやくそくの alias emacs=vim
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 15:52:40.25 ] >>428-430 できました。ありがとうございます。
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 16:00:41.47 ] 一応NTEmacsスレ立てといた NTEmacs スレッド 3 anago.2ch.net/test/read.cgi/software/1325573999/
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:09:55.27 ] >>395 完璧です。どうもです。
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:38:37.96 ] anythingを入れています。 emacs起動後に*scratch*などで評価(作成)した関数が anythingの候補一覧に載ってほしいのですが どうすればよいのでしょうか
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:43:29.24 ] るびきちに聞けやボケぇ
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 19:49:26.67 ] anything使ってる人なんて都市伝説だろ
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:12:08.20 ] 複数の関数に同じ advice を付けたいのですが、うまく書けません。 第一引数に変数を持ってくる正しい書き方はどのようにしたらよいのでしょう? ;; func-a と func-b に同じadviceをつける (dolist (func '(func-a func-b)) (defadvice func (before ad-func activate) (message "before"))) これだと func 変数についてしまったようで func-a と func-b には何もなしでした。
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:17:05.44 ] どこからつっこめばいいかわからない。
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:18:12.97 ] るびきちの責任は重いな
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:25:45.54 ] >>466 マクロと関数と引数の評価は初心者が嵌りそうなところだと思うけれどなあ。
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 21:29:06.07 ] るびきちは責任もってニワカを引き取れよ
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 23:25:19.84 ] 500円払えよ
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/03(火) 23:26:58.36 ] 本買ってやったじゃん。さっさと教えないと捨てるぞ。
472 名前:465 mailto:sage [2012/01/03(火) 23:50:32.16 ] 色々調べて書きなおしてみました。 これで正しいのか、なんでうまくいっているのかいまいち理解できていないですが動いているのでよしとしました。 (dolist (func '(func-a func-b)) (eval `(defadvice ,func (before ,(intern (format "ad-%s" (symbol-name func))) activate) (message "before")))) >>466 すみませんでした。本買って勉強しなおしてきます。
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 00:05:35.25 ] Anything無いと途方に暮れる。 C-:にanything-filelist+を割り当ててるけど、これ以上素早く ファイル(バッファ)を開く術は無いと思うけど。 あと、Semanticを有効にした状態でのimenuも便利過ぎる。
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:03:01.19 ] うわっ・・・私のEmacs起動、遅すぎ・・・? (message "init time: %d msec" (+ (* (- (nth 1 after-init-time) (nth 1 before-init-time)) 1000) (/ (- (nth 2 after-init-time) (nth 2 before-init-time)) 1000))) => init time: 5172 msec
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:09:54.22 ] M-x emacs-init-time
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:24:41.72 ] M-x emacs-init-time 1.2 seconds 普通こんくらい。
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:38:19.83 ] 9.4 seconds
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:46:51.94 ] yasnippet を入れないと 1秒台、入れないと3秒台
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 13:53:28.13 ] 15.1 seconds だ。 Emacs 起動と同時に Gnus も起動してるともっとかかる、多分 1 分ぐらい。
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:12:44.28 ] 15秒っていったいどんだけのファイルロードしてるんだ・・・
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:55:50.16 ] 12.3 secondsだった 結構かかっているな
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 14:59:19.82 ] みなさんキーボードはハッピーハッキングキーボードなのでしょうか ハッピーハッキングキーボードだとCGソフトのBlenderがうまく使えないので 乗り換えるべきか迷うのですが ハッピーハッキングキーボードのメリットってなんでしょう?
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:04:58.86 ] そんなこと悩む時点でメリットなんて特にない。 あれは呪いにかかった人が仕方なく使うアイテム。
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:27:43.87 ] ぶっちゃけ中二病アイテムでしかないよな ワナビ御用達って感じ
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 15:58:04.74 ] 20.5秒だった
486 名前:479 mailto:sage [2012/01/04(水) 16:12:44.06 ] >>480 もしかして、自分はここの人たちと比べても変態なのか……!? PC のスペックが Intel(R) Atom(TM) CPU N455 @ 1.66GHz と低いことに原因があるのかな。
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 16:25:04.74 ] Atomだから遅いのかもね。 あとうちでは一回目と二回目で起動時間の差が生じたな。 初回は7秒ぐらいだったのが2回目は1秒ぐらいになってた。 ディスクキャッシュとかフォントとかそこら辺のせいっぽいなあ。
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:16:11.14 ] imenuとかこんなに便利なもの全然しらなかったよ menubar関係かと思ってスルーしてた るびきちの本はニワカだったら買って損ないわ 知ったかして敬遠してて損した
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:32:28.19 ] ステマか
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:42:10.48 ] あからさマ
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 19:55:25.37 ] とうとうこんな僻地のEmacsスレにまでステマの波が・・・
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:25:01.45 ] 放置しておくべきなんだろうけど。 あいつよっぽど生活苦しいんだろうな。
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:35:53.09 ] 買い支えてやれよ。 どうせならLisp極めてそれ系の本出したほうがかっこいいのにね。
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:50:22.94 ] なんでelispに拘り続けるのかわからんよね。 elispをバネに他の言語にも拡げればいいのに。 rubyに挫折して大した能力がないと自覚しちゃったのかな? だとしたら、気の毒で憐れなやつだよな。
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 20:51:17.33 ] Emacs Lispテクニックバイブル正誤 - (rubikitch loves (Emacs Ruby CUI Books)) d.hatena.ne.jp/rubikitch/20120104/elispbookerrata
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:16:02.43 ] >>495 >完全メールサポートつきで初月無料 >でなので安心して誤登録ください。 errata で誤字とか lisp 的でいいな。
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:18:40.48 ] 誤って登録しても初月無料ですから安心してっていいたかったんじゃない?