[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:02133] Re: mhc と howm の設定について



白井です。適時改行します。

# あと、全角文字、半角文字をそろえた方が、みんな読みやすいですよ。

From: Takuo Tanaka <t-tanaka@xxxxxxxx> さん曰く
Subject: [mhc:02132] mhc と howm の設定について
Message-ID: <21CFDEE6-DE59-11D9-8BBA-000A959A88E2@xxxxxxxx>
Date: Thu, 16 Jun 2005 20:23:58 +0900

> まず,mhcは,wanderlustとの組合せで使用しております.
> emacsを起動後,wanderlustを読み込み,その後C-. .とするとmhc
> が起動し,全ての機能は正常に動作いたします.

> 一方,howmもC-, ,で起動し,正常に動作します.問題は,ここか
> らで,howmを使用している最中に,C-. .としてmhcを呼び出そうとし
> てもhowmのメモに”.”が入力されるだけでmhcには移れません.そ
> こで,仕方なくC−x bにてバッファをwanderlustのものかmhc の
> ものに切り替えてからmhcを使用しています.

> しかし,howmの方は,mhcのバッファであろうと,全く別のバッファ
> であろうと,いつでもC-, ,とすることで切り替えることができます.

相当おおざっぱな説明ですが、Emacs でいろいろとやろうとすると、
mode というのを作ります。mode には major-mode と minor-mode とあ
りまして、

major-mode: すべてを司る mode。wanderlust だったら、folder mode,
   summary mode, message mode, draft mode などがあります。
   emacs lisp を書くときは emacs-lisp mode ですね。一つのバッファ
   には一つの major-mode が割り当てられています。

minor-mode: major-mode に小判鮫のように機能を追加するモードです。
   一つのバッファに複数の minor-mode が『有効』になっていても良
   いし、一つも有効になっていなくてもかまいません。有名どころだ
   と、font-lock mode, out-line mode などがあります。また、MHC
   も howm も minor-mode として作られています。

# WL の説明間違っていたらごめん (__)
# hown も遊び以外では使ったことがないので間違っていたらごめん (__)

そして、hown の minor-mode はいつでも有効になっているのだけど、
MHC の minor-mode は wanderlust (や Mew, Gnus, cmail) の summary
mode などでしか有効になっていない、ということから、田中さんの書
かれたような挙動の違いが発生します。

> この違いがどこから来るのか? またhowm同様いつでもC-. .でmhcを
> 呼び出せるようにするにはどう設定すれば良いのかお教え頂ければ幸
> いです.

MHC の summary の表示は、あくまで wanderlust (や Mew, Gnus,
cmail) の summary モードを間借りして表示しているだけなので、howm
と違って、MHC と各メーラは密接に連携しているため、wanderlust か
らしか MHC は呼べない、と考えてください。

## だけじゃなんなので。。。^^;;;

以下のコードを ~/.emacs に書いておいて、すでに wanderlust が立ち
上がっていれば、MHC の summary が出てくるかもしれません。

# Mew だと大丈夫だけど、他の MUA だとわからないので。。。

(define-key global-map "\C-c.." 'my-goto-mhc)

(defun my-goto-mhc ()
  (interactive)
  (let* ((bufs (buffer-list))
	 (mhcbuf (catch 'det
		   (while bufs
		     (when (and
			    (buffer-name (car bufs))
			    (string-match "^+schedule/[0-9][0-9][0-9][0-9]/[0-9][0-9]$"
					  (buffer-name (car bufs))))
		       (throw 'det (car bufs)))
		     (setq bufs (cdr bufs))))))
    (cond
     (mhcbuf
      (pop-to-buffer mhcbuf))
     ((fboundp 'mhc-goto-this-month)
      (mhc-goto-this-month))
     (t
      (message "Please \"M-x wl, mew, gnus or cmail\"")))))

ちなみにいろいろと都合があって、上記のコードが MHC に採用される
ことはないでしょう。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxx)