Update copyright header.
[elisp/semi.git] / mime-w3.el
index ff2aecc..6c3789d 100644 (file)
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Code:
 
-(require 'w3)
+(condition-case nil
+    (require 'w3)
+  (error nil))
 (require 'mime)
 
 (defmacro mime-put-keymap-region (start end keymap)
        (run-hooks 'mime-text-decode-hook)
        (condition-case err
           (w3-region p (point-max))
-        (error (message (format "%s" err))))
+        (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)))
+                                          mime-w3-message-structure))
+       buffer)
     (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)
+      (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))
 
 
 ;;; @ end