;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Dan Rich <drich@morpheus.corp.sgi.com>
-;; Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+;; Daiki Ueno <ueno@unixuser.org>
;; Katsumi Yamaoka <yamaoka@jpl.org>
;; Maintainer: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Created: 1995/12/15
(insert file-or-data)
(setq file-or-data
(mime-image-normalize-xbm-buffer (current-buffer)))))
- (let ((instance
- (make-image-instance
+ (let ((glyph
+ (make-glyph
(if (and type (mime-image-type-available-p type))
(vconcat
(list type (if data-p :data :file) file-or-data)
props)
- file-or-data)
- nil nil 'noerror)))
- (if (nothing-image-instance-p instance) nil
- (make-glyph instance))))
-
- (defun mime-image-insert (image string &optional area)
- (let ((extent (make-extent (point) (progn (insert string)(point)))))
+ file-or-data))))
+ (if (nothing-image-instance-p (ignore-errors
+ (glyph-image-instance glyph))) nil
+ glyph)))
+
+ (defun mime-image-insert (image &optional string area)
+ (let ((extent (make-extent (point)
+ (progn (and string
+ (insert string))
+ (point)))))
(set-extent-property extent 'invisible t)
(set-extent-end-glyph extent image))))
(condition-case nil
(bitmap-read-xbm-buffer
(current-buffer))) nil) "\n")
(error nil)))
- (defun mime-image-insert (image string &optional area)
+ (defun mime-image-insert (image &optional string area)
(insert image)))
(error
(defalias 'mime-image-read-xbm-buffer
'mime-image-normalize-xbm-buffer)
- (defun mime-image-insert (image string &optional area)
+ (defun mime-image-insert (image &optional string area)
(save-restriction
(narrow-to-region (point)(point))
(let ((face (gensym "mii")))
(defun mime-display-image (entity situation)
(message "Decoding image...")
- (let ((format (cdr (assq 'image-format situation)))
- image)
- (setq image (mime-image-create (mime-entity-content entity) format 'data))
- (if (null image)
- (message "Invalid glyph!")
- (save-excursion
- (mime-image-insert image "x")
- (insert "\n")
- (save-window-excursion
- (set-window-buffer (selected-window)(current-buffer))
- (sit-for 0))
- (message "Decoding image... done")))))
+ (condition-case err
+ (let ((format (cdr (assq 'image-format situation)))
+ image)
+ (setq image (mime-image-create (mime-entity-content entity) format 'data))
+ (if (null image)
+ (message "Invalid glyph!")
+ (save-excursion
+ (mime-image-insert image)
+ (insert "\n")
+ (message "Decoding image...done"))))
+ (error nil err)))
;;; @ end
;;;