(add-hook 'mew-message-hook 'mew-header-tocc-narrowing)
(add-hook 'mew-message-mode-hook 'mew-header-tocc-narrowing-setup)
(defvar mew-header-tocc-narrowing-lines 4)
(defvar mew-header-tocc-narrowing-string " ...")
(defun mew-header-tocc-narrowing-setup ()
(when (boundp 'line-move-ignore-invisible)
(set (make-local-variable 'line-move-ignore-invisible) t))
(put-text-property 0 (length mew-header-tocc-narrowing-string)
'face 'mew-face-header-xmew mew-header-tocc-narrowing-string))
(defun mew-header-tocc-narrowing ()
(unless (and (eq this-command 'mew-summary-display)
current-prefix-arg)
(save-excursion
(save-restriction
(goto-char (point-min))
(if (re-search-forward mew-eoh nil t)
(beginning-of-line)
(goto-char (point-max)))
(narrow-to-region (point-min) (point))
(mew-header-tocc-narrowing-1 "^to:")
(mew-header-tocc-narrowing-1 "^cc:")))))
(defun mew-header-tocc-narrowing-1 (hregexp)
(let (start end)
(goto-char (point-min))
(when (re-search-forward hregexp nil t)
(setq start (match-beginning 0))
(forward-line 1)
(setq end (progn (mew-header-goto-next)
(forward-line -1)
(line-end-position)))
(when (> (count-lines start end) mew-header-tocc-narrowing-lines)
(goto-char start)
(forward-line (1- mew-header-tocc-narrowing-lines))
(end-of-line)
(setq start (point))
(let ((ov (make-overlay start end)))
(overlay-put ov 'evaporate t)
(overlay-put ov 'invisible 'tocc-narrowing)
(overlay-put ov 'after-string mew-header-tocc-narrowing-string))))))
なんだか今日になって突然おさまったようだ。
タイトルからも link が張れた。だけど、(はーどまーく)ってなんだろう? :-)
会社の本だなの UNIX USER 8月号「Subversion で管理せよ(鵜飼さん)」をハードコピーした。実はよくわかっていないので読もう。