- (save-restriction
- (narrow-to-region (point-max)(point-max))
- (mime-text-insert-decoded-body entity)
- (let ((beg (point-min)))
- (remove-text-properties beg (point-max) '(face nil))
- (w3-region beg (point-max))
- (mime-put-keymap-region beg (point-max) w3-mode-map)
- )))
+ (setq mime-w3-message-structure (mime-find-root-entity entity))
+ (goto-char (point-max))
+ (let ((p (point)))
+ (insert "\n")
+ (goto-char p)
+ (mime-save-background-color
+ (save-restriction
+ (narrow-to-region p p)
+ (mime-insert-text-content entity)
+ (run-hooks 'mime-text-decode-hook)
+ (condition-case err
+ (w3-region p (point-max))
+ (error (message "%s" err)))
+ (mime-put-keymap-region p (point-max) w3-mode-map)
+ ))))
+
+(defun url-cid (url &optional proxy-info)
+ (let ((entity
+ (mime-find-entity-from-content-id (mime-uri-parse-cid url)
+ mime-w3-message-structure))
+ buffer)
+ (when entity
+ (setq buffer (generate-new-buffer (format " *cid %s" url)))
+ (save-excursion
+ (set-buffer buffer)
+ (mime-insert-entity-content entity)
+ (if (boundp 'url-current-mime-type)
+ (setq url-current-mime-type (mime-entity-type/subtype entity)))))
+ buffer))
+
+(if (fboundp 'url-register-protocol)
+ (url-register-protocol "cid"
+ 'url-cid
+ 'url-identity-expander)
+ (provide 'url-cid))