[mew-dist 22180] Re: about PGP clear signature

Tatsuya Kinoshita tats at example.com
2002年 11月 1日 (金) 20:29:42 JST


On November 1, 2002, [mew-dist 22175],
NINOMIYA Hideyuki <nin at example.com> wrote:

> XEmacs (だからではなく自分の環境かもっ f^^;)ではうまく行きませんでしたので
> 
> (defun mew-mc-sign (arg)
>   (interactive "p")
>   (let ((mew-use-8bit t)
> 	start end)
>     (setq start (mew-body-min) end (mew-body-max))
>     (require 'mailcrypt)
>     (mc-sign-region arg start end)
>     (mew-draft-make-message)))
> 
> なんてしてみました

手元のXEmacs 21.4.8でも、mc-sign-regionを使うことでうまくいくよう
になりました。

ちなみに、mew-use-8bitをtにしているのは、署名の検証(`C-c C-z':
mew-summary-decode-pgp)で`CTE: quoted-printable'を扱えないからです。

さらに、attachmentsの*Cover.txtで`C'によりcharsetを指定した場合に
対応できていなかったのを修正しました。(たとえば、Text/Plain(euc-jp)
のメッセージにも署名できます)

---- 
(autoload 'mc-sign-region "mc-toplev" nil t)
(setq mc-default-scheme 'mc-scheme-gpg)

(defadvice mc-gpg-process-region (around my-mew-cs-fix activate)
  (let* ((cs (mew-charset-to-cs (my-mew-body-charset)))
	 (coding-system-for-read cs)
	 (coding-system-for-write cs))
    ad-do-it))

(defun my-mew-draft-share-user-keymap (symmap)
  (define-key (symbol-value symmap) "\C-cz" 'my-mew-mc-sign))
(my-mew-draft-share-user-keymap 'mew-draft-header-map)
(my-mew-draft-share-user-keymap 'mew-draft-body-map)
(my-mew-draft-share-user-keymap 'mew-draft-attach-map)

(defun my-mew-mc-sign(arg)
  (interactive "p")
  (let ((mew-use-8bit t))
    (mc-sign-region arg (my-mew-body-min) (my-mew-body-max))
    (if (mew-draft-p)
	(mew-draft-make-message))))

(defun my-mew-body-charset ()
  (interactive)
  (let (char)
    (if (mew-attach-p)
	(setq char (mew-syntax-get-param
		    (mew-syntax-get-ct
		     (mew-syntax-get-entry mew-encode-syntax '(1)))
		    "charset")))
    (or char
	(mew-charset-guess-region (my-mew-body-min) (my-mew-body-max)))))

(defun my-mew-body-min ()
  (interactive)
  (save-excursion
    (mew-header-goto-body)
    (point)))

(defun my-mew-body-max ()
  (interactive)
  (save-excursion
    (if (not (mew-attach-p))
	(point-max)
      (mew-attach-move-onto-body)
      (point))))
---- 

-- 
木下達也



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