Merge semi-1_10_2.
[elisp/semi.git] / mime-w3.el
index f17ac45..a3d3349 100644 (file)
 ;;; 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)))
 
 (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)
+  (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)
+       (w3-region p (point-max))
+       (mime-put-keymap-region p (point-max) w3-mode-map)
        ))))