;;; It is based on draft-kazu-pgp-mime-00.txt (PGP-kazu).
(defun mime-view-application/pgp (entity situation)
- (let* ((start (mime-entity-point-min entity))
- (end (mime-entity-point-max entity))
- (entity-number (mime-raw-point-to-entity-number start))
- (p-win (or (get-buffer-window mime-preview-buffer)
+ (let* ((p-win (or (get-buffer-window mime-preview-buffer)
(get-largest-window)))
- (new-name (format "%s-%s" (buffer-name) entity-number))
+ (new-name
+ (format "%s-%s" (buffer-name) (mime-entity-number entity)))
(the-buf (current-buffer))
(mother mime-preview-buffer)
- (mode major-mode)
representation-type)
(set-buffer (get-buffer-create new-name))
(erase-buffer)
- (insert-buffer-substring the-buf start end)
+ (insert-buffer-substring
+ the-buf (mime-entity-point-min entity) (mime-entity-point-max entity))
(cond ((progn
(goto-char (point-min))
(re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t))
(while (re-search-forward "^- -" nil t)
(replace-match "-")
)
- (setq representation-type
- (cdr (or (assq mode mime-raw-representation-type-alist)
- (assq t mime-raw-representation-type-alist))))
+ (setq representation-type (if (mime-entity-cooked-p entity)
+ 'cooked))
)
((progn
(goto-char (point-min))
(and
(search-forward "\n\n")
(match-end 0)))
- (setq representation-type (function mime-text-decode-buffer))
+ (setq representation-type 'binary)
))
(setq major-mode 'mime-show-message-mode)
- (setq mime-raw-representation-type representation-type)
- (save-window-excursion (mime-view-mode mother))
+ (save-window-excursion (mime-view-buffer nil nil mother
+ nil representation-type))
(set-window-buffer p-win mime-preview-buffer)
))
(end (mime-entity-point-max entity))
(encoding (cdr (assq 'encoding situation)))
(entity-node-id (mime-raw-point-to-entity-node-id start))
- (mother-node-id (cdr entity-node-id))
+ (mother (mime-entity-parent entity))
(knum (car entity-node-id))
(onum (if (> knum 0)
(1- knum)
(1+ knum)))
- (oinfo (mime-raw-find-entity-from-node-id
- (cons onum mother-node-id) mime-raw-message-info))
+ (orig-entity (nth onum (mime-entity-children mother)))
(basename (expand-file-name "tm" mime-temp-directory))
(orig-file (make-temp-name basename))
(sig-file (concat orig-file ".sig"))
)
- (mime-raw-write-region (mime-entity-point-min oinfo)
- (mime-entity-point-max oinfo)
- orig-file)
+ (mime-write-entity orig-entity orig-file)
(save-excursion (mime-show-echo-buffer))
(mime-write-decoded-region (save-excursion
(goto-char start)
(defun mime-decrypt-application/pgp-encrypted (entity situation)
(let* ((entity-node-id (mime-entity-node-id entity))
- (mother-node-id (cdr entity-node-id))
+ (mother (mime-entity-parent entity))
(knum (car entity-node-id))
(onum (if (> knum 0)
(1- knum)
(1+ knum)))
- (oinfo (mime-raw-find-entity-from-node-id
- (cons onum mother-node-id) mime-raw-message-info)))
- (mime-view-application/pgp oinfo situation)
+ (orig-entity (nth onum (mime-entity-children mother))))
+ (mime-view-application/pgp orig-entity situation)
))