最近、Cygwinを1.7に上げたのですが、Cygwin 1.7だとstarttlsがうまくビルドできない (killでシグナルが送れないバイナリになる) ようなので、後ろ向きに回避してGnuTLSのgnutls-cliを利用するようにしてみました。
(setq starttls-negotiation-by-kill-program t
starttls-kill-program "/path/to/cygwin/bin/kill.exe"
starttls-gnutls-program "/path/to/cygwin/bin/gnutls-cli.exe"
starttls-use-gnutls t)
(defadvice starttls-negotiate (around use-external-kill activate)
(if (and (boundp 'starttls-negotiation-by-kill-program)
starttls-negotiation-by-kill-program)
(call-process starttls-kill-program nil nil nil
"-ALRM" (format "%d" (process-id process)))
ad-do-it))
starttlsに付属のstarttls.elではなく、Gnus由来の (Emacsに付属している) starttls.elを利用しています。NTEmacs + Cygwinのgnutls-cliの組み合わせの場合、外部プロセスを利用したシグナルの送信を行う必要があるので、その部分はstarttlsに付属のstarttls.elと同等になるようにしています。
(2011/05/22 追記) adviceを利用したものに変更しました。
タグ:Wanderlust
コメント (0件)
Kazuhiro's blog
http://ikazuhiro.s206.xrea.com/article.php/20101223554433402