X-Git-Url: http://git.chise.org/gitweb/?p=elisp%2Fsemi.git;a=blobdiff_plain;f=mime-w3.el;h=6c3789d7ab9a4736409787647e9b73a6f1966120;hp=ff2aeccc6015fe7bc68b10319a0486acc07733bc;hb=HEAD;hpb=17cacd9ff91f19bac96c1b6f9db2c414a53d2b68 diff --git a/mime-w3.el b/mime-w3.el index ff2aecc..6c3789d 100644 --- a/mime-w3.el +++ b/mime-w3.el @@ -19,12 +19,14 @@ ;; 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) @@ -58,22 +60,29 @@ (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