2015年3月23日月曜日

EmacsからGoogleサーチ

 ふと、mode-lineのMajor mode名をクリックしたらGoogleサーチの項目があらわれた。「Search With Google」。なんじゃ、こりゃ? はじめてみた。FreeBSDのEmacsではそんなものはでてこない。CarbonEmacsだから?
 よくわからないが、使ってみると、どうやらリージョンの内容で検索してくれるらしい(Safariが動く)。でもどちらかというと欲しいのはミニバッファから文字列を入力しての検索なので、どんな風にやっているか、ソースを見ようとしたのだけれど、describe-keyがうまく効かなくてソースの該当個所がわからない。ソースを検索しても不明。browse-urlでgoogleを呼び出しているようにも見えるが、結局、うぎゃっとなってネット検索。
 すったもんだのあげく(browse-urlはfirefoxがデフォルトになっていてうまく動かなかった)、AppleScriptを呼ぶelispがあることが判明。do-applescript。ラップ関数を書く。

(defun y-google (string)
  "google search呼び出し"
  (interactive "s")
  (do-applescript
   (concat
    "open location \"http://www.google.com/search?q="
    (url-hexify-string string)
    "\"")))

 うっきゃっきゃっ。