[Mew-dist 1382] Re: method of browsing image data

Yuuichi Teranishi 寺西裕一 teranisi at example.com
1997年 7月 30日 (水) 12:40:06 JST


Fri, 25 Jul 1997 17:51:50 +0900頃に
 寺西 裕一 より送信された
Subject:『Re: [Mew-dist 1315] method of browsing image data 』のメールより:

寺西 裕一> でも、いまいちコードがあやしいです。

この、GIF/JPEG 画像パートを XEmacs のバッファに表示するパッチを
多少手直ししました。
# 前のはとても冗長なことをやっていました...。おはずかしい。
ちょっとはマシになったと思います ;-)。
以下に mew-1.87 に対するパッチを添付します。

--
Yuuichi Teranishi (寺西裕一) Email: teranisi at example.com
Location: NTT Information and Communication Systems Laboratories
TEL: 0468-59-2839 FAX: 0468-59-2768 PHS: 050-106-7597
MyCar: RAV4J (23333km since Nov.1995) 

-------------- next part --------------
--- mew-summary.el.orig	Wed Jul 30 11:46:35 1997
+++ mew-summary.el	Wed Jul 30 11:47:38 1997
@@ -826,8 +826,13 @@
 	 (zmacs-regions nil)  ;; for XEmacs
 	 file)
     (if (null non-erase)
-	(let ((buffer-read-only nil))
+	(let ((buffer-read-only nil)
+	      (ealist (extent-list)))
 	  (erase-buffer)
+	  (if mew-xemacs-p 
+	      (while ealist
+		(delete-extent (car ealist))
+		(setq ealist (cdr ealist))))
 	  (set-buffer-modified-p nil))) ;; xxx
     (set-marker (mark-marker) nil) ;; kill mark for cite
     (setq mew-message-citation 'noheader)
-------------- next part --------------
--- mew-mime.el.orig	Sun Jun 15 21:09:30 1997
+++ mew-mime.el	Wed Jul 30 11:48:47 1997
@@ -72,14 +72,18 @@
     "image/gif"
     "\\.gif$"
     "base64"
-    '("xv" ("-geometry" "+0+0") t)
+    (if (and mew-xemacs-p (featurep 'gif))
+	'(mew-mime-image/gif () nil)
+      '("xv" ("-geometry" "+0+0") t))
     (if (boundp 'mew-icon-image) mew-icon-image)
     )
    (list
     "image/jpeg"
     "\\.jpe?g$"
     "base64"
-    '("xv" ("-geometry" "+0+0") t)
+    (if (and mew-xemacs-p (featurep 'jpeg))
+	'(mew-mime-image/jpeg () nil)
+      '("xv" ("-geometry" "+0+0") t))
     (if (boundp 'mew-icon-image) mew-icon-image)
     )
    (list
@@ -285,6 +289,26 @@
   (message "Calling %s ... done" program)
   t ;; to next part
   )
+
+(defun mew-mime-image (begin end format)
+  (set-buffer (mew-buffer-message))
+  (let ((buffer-read-only nil))
+    (message "Loading image...")
+    (set-extent-end-glyph (make-extent (point-min) (point-min))
+			  (make-glyph (vector 
+				       format
+				       :data
+				       (buffer-substring 
+					begin end
+					(mew-current-get 'cache)))))
+    (message "Loading image...done")
+    ))
+
+(defun mew-mime-image/jpeg (begin end &optional params)
+  (mew-mime-image begin end 'jpeg))
+
+(defun mew-mime-image/gif (begin end &optional params)
+  (mew-mime-image begin end 'gif))
 
 (defun mew-mime-text/plain (begin end &optional params)
   (if (> end begin)


Mew-dist メーリングリストの案内