トップ «前の日(04-06) 最新 次の日(04-08)» 追記   RSS 1.0 FEED  

Journal InTime


2003-04-07 (Mon)

_ 親不知

右下の親不知が暴れ出し、顔の右半分(とくにあごとこめかみ)がひどく痛むので、歯医者に。

上の親不知が、下の親不知の上に盛り上がった歯茎にあたるため痛いのだということで、 上の健康な親不知を抜くことになった。

しかし、処置が終わった後も、下の親不知の部分はそのままなのですぐに痛みが引くわけでもなく、 上の親不知を抜いた後から流れる血で気分まで悪くなり…。

本日のツッコミ(全2件) [ツッコミを入れる]

_ 現在、アメリカ滞在中 [最近、親不知を抜きました。この歯はアメリカ発つ前まで生えていなかったのでこんなに痛いものとは思いもしませんでした。親..]

_ shugo [うわ、そんなに高いんですか。保険が効かないせいかな。 異国の地でそんな状況になったら辛そうですねえ。]


2004-04-07 (Wed)

_ [ソフトウェア] tags-searchの検索文字列のデフォルト値

会社で「Emacs上である関数が使われている箇所を探す時どうするか」と いう話になった。 以前は、同じファイル内だけ探す時はisearch、複数のファイルを探す grepだったのだが、最近tags-searchを使うようになった。

後輩は検索のたびに関数名をコピーしてからミニバッファでペーストし て検索しているらしい。曰く、「長い関数名いちいちタイプするの面倒 臭くないですか?」 そういえば、そうだよな。でもコピー&ペーストもけっこう面倒だぞ。

tags-searchの検索文字列のデフォルト値に現在位置の識別子を渡す (find-tagみたいに)のがラクそうだなと思って、defadviceで拡張してみ た。

(defadvice tags-search (before default-value activate compile)
  "Provide default values."
  (interactive
   (list
    (let ((default (funcall
                    (or find-tag-default-function
                        (get major-mode 'find-tag-default-function)
                        'find-tag-default))))
      (read-string
       (format "Tags search (default %s): " default)
       nil nil default t)))))

ついでにtags-query-replaceも。

(defun tags-query-replace-read-args (string regexp-flag)
  (let ((from nil)
        (to nil)
        (default (funcall
                    (or find-tag-default-function
                        (get major-mode 'find-tag-default-function)
                        'find-tag-default))))
    (if query-replace-interactive
	(setq from (car (if regexp-flag regexp-search-ring search-ring)))
      (setq from (read-string (format "%s (default %s): " string default)
                              nil query-replace-from-history-variable
                              default t)))
    (setq to (read-from-minibuffer (format "%s %s with: " string from)
				   nil nil nil
				   query-replace-to-history-variable from t))
    (if (and transient-mark-mode mark-active)
	(list from to current-prefix-arg (region-beginning) (region-end))
      (list from to current-prefix-arg nil nil))))

(defadvice tags-query-replace (before default-value activate compile)
  "Provide default values."
  (interactive (tags-query-replace-read-args "Tags query replace (regexp)" t)))

ちなみに、自分は以下のキーに割り当てている。

(global-set-key "\M-s" 'tags-search)
(global-set-key "\M-r" 'tags-query-replace)

最近ラクするのを怠けていたので、もっと頑張ってラクをしようと思う。

_ [ソフトウェア] tDiaryのテーマ

ふと思い立って微妙に変えてみた。

_ [その他] グーグル、反ユダヤ論争に巻き込まれる

「Googleは、複数のコンピュータアルゴリズムだけをもとにして、検索結果の順位を決定する。基本的にウェブでの人気度を反映している」とKraneは述べる。「人間はGoogleの検索結果を操作しない。検索結果を手動で変えることはできない」(Krane)

[グーグル、反ユダヤ論争に巻き込まれるより引用]

あれ、そうだったんですか、ふーん。

本日のツッコミ(全2件) [ツッコミを入れる]

_ kose [関数名上にカーソルを置いて C-u M-x grep ってのも便利ですよ。]

_ shugo [おお、知りませんでした。これは便利ですね。]


2005-04-07 (Thu)

_ [ximapd] RENAME

RENAMEを実装。

_ [ximapd] queriesフォルダ

queriesフォルダの下にメールボックスを作ると、メールボックス名を (Rastの)検索クエリとして検索するようにしてみた。 たとえば、`queries/from : shugo@ruby-lang.org'だと`from : shugo@ruby-lang.org'というクエリ(From:にshugo@ruby-lang.orgが含まれるメール)の検索結果をメールボックスとして作成する。 もちろん、新しく来たメールもどんどん追加される。 queriesフォルダの外に移動したり、フォルダ名自体を変えてしまってもOK。

ちなみに、既存のdata_dirがある場合は、mailbox.dbの`mailboxes:'という部分に、

queries:
  flags: "\\Noselect"

のようなエントリを追加する必要があります。

_ [ximapd] SUBSCRIBE/UNSUBSCRIBE

NOOPとして実装。

_ [ximapd] procmail

ちなみに、procmailでspamなどを振り分けて、ちゃんと読みそうなメール だけをximapdにimportしている。 spamのためだけに検索を使わないメールボックスを実装するのが面倒なので...。 Rastが十分にスケールしてくれればspamも突っ込むんだけど、一日数千通ペースは苦しいだろうなあ。