[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/25 03:24 / Filesize : 216 KB / Number-of Response : 877
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Emacs Part 39



1 名前:名無しさん@お腹いっぱい。 [2011/11/29(火) 17:50:44.24 ]
前スレ

Emacs Part 38
hibari.2ch.net/test/read.cgi/unix/1308635178/

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 ]
誤って登録しても初月無料ですから安心してっていいたかったんじゃない?

498 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:28:39.22 ]
なるほど

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/04(水) 21:54:57.85 ]
>>494
るびきちより有能な奴10000人が書き込むこのスレって天才たちの社交場だな

500 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 05:00:09.62 ]
>>499
ああ、こういうのを負け犬の遠吠えっていうんだな。

501 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 10:55:29.78 ]
emacs24はクロージャ正式にサポートかよ

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 11:57:07.33 ]
今年こそは真面目に脱Emacsをはかるぜ
リハビリにしばらくWindowsのメモ帳だけで生活してやる

503 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:11:07.06 ]
おもむろに elisp 紹介
・Ace jump mode - emacs 用 hit-a-hint 風カーソル移動
https://github.com/winterTTr/ace-jump-mode/

(require 'ace-jump-mode)
(global-set-key (kbd "C-;") 'ace-jump-mode)

ってやって C-; a とか押すと画面上の a のところにアルファベットの連番が振られて
押せばジャンプできる。

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:17:38.59 ]
isearchでよくね?

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:21:35.58 ]
バッファ開きまくってる人がこれで統計とると面白そうだ

(defun buffer-mode-histogram ()
"Display a histogram of emacs buffer modes."
(interactive)
(let* ((totals '())
(buffers (buffer-list()))
(total-buffers (length buffers))
(ht (make-hash-table :test 'equal)))
(save-excursion
(dolist (buffer buffers)
(set-buffer buffer)
(let
((mode-name (symbol-name major-mode)))
(puthash mode-name (1+ (gethash mode-name ht 0)) ht))))
(maphash (lambda (key value)
(setq totals (cons (list key value) totals)))
ht)
(setq totals (sort totals (lambda (x y) (> (cadr x) (cadr y)))))
(with-output-to-temp-buffer "Buffer mode histogram"
(princ (format "%d buffers open, in %d distinct modes\n\n"
total-buffers (length totals)))
(dolist (item totals)
(let
((key (car item))
(count (cadr item)))
(if (equal (substring key -5) "-mode")
(setq key (substring key 0 -5)))
(princ (format "%2d %20s %s\n" count key
(make-string count ?+))))))))



506 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:44:35.74 ]
emacs ユーザ分布
maps.google.com/maps/ms?msid=206578397069667369090.0004b0f0502b612864fbe&msa=0&ll=19.642588,23.554688&spn=103.499573,345.585938

日本人いねーぞこら

507 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/01/05(木) 12:55:44.01 ]
>>501
そもそもいつ正式リリースなの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<216KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef