;;; mime-w3.el --- mime-view content filter for text
-;; Copyright (C) 1994,1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1994,1995,1996,1997,1998,1999 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Keywords: HTML, MIME, multimedia, mail, news
;;; Code:
(require 'w3)
-(require 'mime-text)
+(require 'mime)
(defmacro mime-put-keymap-region (start end keymap)
`(put-text-property ,start ,end
',(if (featurep 'xemacs)
'keymap
'local-map)
- ,keymap)
- )
+ ,keymap))
(defmacro mime-save-background-color (&rest body)
(if (featurep 'xemacs)
`(let ((color (color-name (face-background 'default))))
(prog1
(progn ,@body)
- (font-set-face-background 'default color
- (get-buffer gnus-article-buffer))
+ (font-set-face-background 'default color (current-buffer))
))
(cons 'progn body)))
+(defvar mime-w3-message-structure nil)
+
(defun mime-preview-text/html (entity situation)
- (mime-save-background-color
- (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
+ (with-current-buffer (mime-entity-buffer entity)
+ mime-message-structure))
+ (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 (format "%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)))
+ (when entity
+ (mime-insert-entity-content entity)
+ (setq url-current-mime-type (mime-entity-type/subtype entity))
+ )))
+
+(url-register-protocol "cid"
+ 'url-cid
+ 'url-identity-expander)
+
;;; @ end
;;;