[mew-win32 04121] Re: Firefox -> mozex -> mailto -> Mew

Hideyuki SHIRAI ( 白井秀行 ) shirai at example.com
2004年 10月 15日 (金) 18:39:40 JST


From: Hideyuki SHIRAI (白井秀行) <shirai at example.com> 曰く
Subject: [mew-win32 04120] Re: Firefox -> mozex -> mailto -> Mew
Message-ID: <20041014.183010.251359761.shirai.hideyuki at example.com>
Date: Thu, 14 Oct 2004 18:30:10 +0900 (JST)

> うーーん、MozEx との連携って需要が高そうだから、他のヘッダとかボ
> ディを扱えるようにもっとましなのを作りましょうか。

作ってみました。diff とったらほとんど大きさが変わらないので、申
し訳ないですが、mew-browse.el 全体をつけちゃいます。

しかも、実は結構うれしいので、mew-dist にも送ってしまいます。

-- 
白井秀行 (mailto:shirai at example.com)
-------------- next part --------------
説明: 以下、各種 Browser での mailto 横取りの設定

(0) 下準備
   ~/.emacs で (require 'mew-browse)
   ~/.mew.el でもかまいませんが、上記の設定だと Mew が立ち上がっ
   ていなくても自動的に Mew を立ち上げて動作します。


(1) (使っている人がいるかどうかわかりませんが) W3 から使うとき。
    ぼく自身はロードパスにも w3 が存在しないので確認できていませ
    ん。昔は動きました。

 (cond
  ((locate-library "url-mail")
   (eval-after-load "url-mail"
     '(fset 'url-mailto (symbol-function 'mew-url-mailto))))
  ((locate-library "url")
   (eval-after-load "url"
     '(fset 'url-mailto (symbol-function 'mew-url-mailto)))))


(2) Emacs-w3m から使うとき。
  (setq w3m-mailto-url-function 'mew-url-mailto)


(3) MS-Windows の IE, Mozilla, Firefox などの Browser ですべてに
    効力をおよぼすときは下記のレジストリを設定する。別途 gnuserv
    一式を入手する。Meadow 以外(NTEmacs など)で動くかどうかはわ
    かりません。
    
  registory key: \HKEY_LOCAL_MACHINE\SOFTWARE\Calsses\mailto\shell\open\command
  registory value: drive:\path\gnudoitw.exe "(mew-url-mailto \"%1\")"


(4) Mozilla/Firefox で MozEx から使う場合は以下を Mailer に設定
    する。引数が多いのは勘弁してください。また、引数の大文字小文
    字を間違えないでね。
    MozEx については http://www.mew.org/~kazu/toy/firefox-editor.html 参照

(4.1) gnuserv を使う場合 (windows のときは "c:\path\gnudoitw.exe" ね)
   『/path/gnudoit (mew-url-mailto-mozex "%A" "%C" "%Z" "%S" "%B" "%r")』

(4.2) Emacs-21.3.50 で emacsclient を使う場合
      (UNIX でしか確かめていませんが)

   『/path/emacseval (mew-url-mailto-mozex "%A" "%C" "%Z" "%S" "%B" "%r")』

   ここで、emacseval はこんな↓shell script です。

 #!/bin/sh
 /usr/local/bin/emacsclient --eval "`echo $*`"

いじょー。

# 個人的に UNIX な Mozilla から Mew を立ち上げるのは長年の夢だっ
# たので結構うれしい。
-------------- next part --------------
追記: (4.2) でなんで、こんな wapper を使っているかの簡単な説明

## ちょっと古めの Mozilla 1.4 でしか確かめていないので、勘違い
## していたり、もっと良い方法があったら指摘してください。
## Solaris7 でこれより新しいのを動かせたことがないんです ;_;

emacsclient は引数に quote が必要な文字(" ", "\n", "&" など)があ
ると自分で quote します。そして、emacs 側でその quote された文字
を元の文字に戻してから eval しています。(file のときも同様)

なので、コマンドラインから打つとこんな感じになります。

% emacsclient --eval '(hoge "foo" "bar")'
emacsclient の出力: -eval (hoge&_"foo"&_"bar")
で、emacs 側で arg[1] を (hoge "foo" "bar") に直しています。


しかし、MozEx 経由で『emacsclient --eval '(hoge "foo" "bar")'』
を実行すると、' がそのまま残って eval してしまうため、この手は使
えません。

# " でも一緒だったよ ;_;

また、MozEx 経由で『emacsclient --eval (hoge "foo" "bar")』

とすると、emacsclient は『(hoge』『"foo"』『"bar")』それぞれを別
の引数として扱ってしまうため、emacs には

% emacsclient --eval '(hoge' '"foo"' '"bar")'

と起動したものを同じものが渡ってしまいます。で、動かないのです。

なので、wapper をかぶせて複数の引数として分割されているものを、
無理やり単一の引数に変換してから emacsclient をうごかしています。
-------------- next part --------------
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
HYjB+7PD2fvgAAAP//AwApaLGFOzUAAA==


Mew-win32 メーリングリストの案内