+(cond (running-xemacs
+ (require 'images)
+
+ (defun-maybe image-inline-p (format)
+ (or (memq format image-native-formats)
+ (find-if (function
+ (lambda (native)
+ (image-converter-chain format native)
+ ))
+ image-native-formats)
+ ))
+
+ (image-register-netpbm-utilities)
+ (image-register-converter 'pic 'ppm "pictoppm")
+ (image-register-converter 'mag 'ppm "magtoppm")
+
+ (defun bitmap-insert-xbm-file (file)
+ (let ((gl (make-glyph (list (cons 'x file))))
+ (e (make-extent (point) (point)))
+ )
+ (set-extent-end-glyph e gl)
+ ))
+
+ ;;
+ ;; X-Face
+ ;;
+ (autoload 'highlight-headers "highlight-headers")
+
+ (defun mime-preview/x-face-function-use-highlight-headers ()
+ (highlight-headers (point-min) (re-search-forward "^$" nil t) t)
+ )
+
+ (add-hook 'mime-viewer/content-header-filter-hook
+ 'mime-preview/x-face-function-use-highlight-headers)
+
+ )
+ ((featurep 'mule)
+ ;; for MULE 2.* or mule merged EMACS
+ (require 'x-face-mule)
+
+ (defvar image-native-formats '(xbm))
+
+ (defun-maybe image-inline-p (format)
+ (memq format image-native-formats)
+ )
+
+ (defun-maybe image-normalize (format data)
+ (and (eq format 'xbm)
+ (vector 'xbm ':data data)
+ ))
+
+ ;;
+ ;; X-Face
+ ;;
+ (if (exec-installed-p uncompface-program)
+ (add-hook 'mime-viewer/content-header-filter-hook
+ 'x-face-decode-message-header)
+ )
+ ))
+
+(or (fboundp 'image-invalid-glyph-p)
+ (defsubst image-invalid-glyph-p (glyph)
+ (or (null (aref glyph 0))
+ (null (aref glyph 2))
+ (equal (aref glyph 2) "")
+ ))
+ )