[Mew-dist 04048] Re: b22

Yuuichi Teranishi 寺西裕一 teranisi at example.com
1998年 3月 1日 (日) 22:45:57 JST


Sat, 28 Feb 1998 22:08:10 +0900頃に
 かずさん より送信された
Subject:『[Mew-dist 04037] Re: b22』のメッセージより:

かずさん> 歴史的にいうと、こんな感じです。
かずさん> 
かずさん> 	(1) Draft モードの window config を保ったままテキストをどこに
かずさん> 	とりこむか、考えたくなかった。
かずさん> 	(2) イメージなら xv が起動するだけだし、イメージだけとりあえず
かずさん> 	サポートしておこうと思った。(toy という気持)
かずさん> 	(3) その後寺西さんが、inline 化した。
かずさん> 	(4) すると、この関数の program は関数のシンボル名になるので、
かずさん> 	mew-which が nil を返して、なにも起こらない。

なるほど、何がおこっているかがようやく分かってきました (^^)。
とりあえず、toy という気持をそのままに、XEmacs ならば attatch 部分の下に画像
ならば表示する、というコードを書いてみました(次パート...b22用)。
ほんとうは Summary と同じように別バッファを設けてうまく window config を制御
する、というのが正しい気がします。

かずさん> > ;; マルチパートエディタができるとそうなる? :-)
かずさん> 
かずさん> あんまり関係ありません。最近、書きかけマルチパートの際編集とマ
かずさん> ルチパート・エディタは等価であるという結論に達しました。かなり
かずさん> イメージが湧いて来ましたので、逃避で作ってしまうかもしれません。
かずさん> (練りに練っただけに、実装はおそらく簡単。)

うーん、どんなのができあがるのか、楽しみにしています :-)。

かずさん> > mule2.3 等ではドラフトの画像パートはどうやって内容確認するんで
かずさん> しょう?
かずさん> 今のところ、ないです。SPC で起動するようにするのが、Summary モー
かずさん> ドと同じでいいでしょうね。

mew-draft-show-attach はいまのところ toolbar から invoke されることしか
想定していません。

かずさん> そもそも、左ボタンがカット&ペーストに取られているのに、
かずさん> アイコンを見ると左ボタンを押したくなる習性がいけないんでしょうね。

XEmacs のその他のアプリケーション(Gnus 等)もそうなっている
(ツールバーアイコンは左、バッファ内は真ん中)ので、
それはそれで正しいと動作と思っています。

--
Yuuichi Teranishi (寺西裕一) <teranisi at example.com>
NTT Information and Communication Systems Laboratories
Got to be good-looking 'cause he's so hard to see...

-------------- next part --------------
--- mew-xemacs.el~	Sat Feb 28 15:15:31 1998
+++ mew-xemacs.el	Sun Mar  1 22:20:28 1998
@@ -303,7 +303,10 @@
   (interactive)
   (let ((case-fold-search t)
 	(str (toolbar-button-help-string last-pressed-toolbar-button))
+	(image-extent (extent-at (point-max) nil nil nil 'at))
 	ct)
+    (if image-extent
+	(delete-extent image-extent))
     (if (null (string-match "(\\(.*\\))" str))
 	()
       (setq ct (mew-match 1 str))
@@ -319,11 +322,30 @@
 		 (program (mew-attr-get-prog attr))
 		 (options (mew-attr-get-opt attr))
 		 (async   (mew-attr-get-async attr))
-		 (zmacs-regions nil)) ;; for XEmacs
-	    (if (and (stringp program) (mew-which program exec-path))
-		(if async
-		    (mew-mime-start-process program options file)
-		  (mew-mime-call-process program options file))))))))
+		 (zmacs-regions nil) ;; for XEmacs
+		 (format (cond ((and (string-match "jpeg" ct)
+				     (featurep 'jpeg)) 'jpeg)
+			       ((and (string-match "gif" ct)
+				     (featurep 'gif)) 'gif)
+			       ((and (string-match "xbm" ct)
+				     (featurep 'xpm)) 'xbm)
+			       ((and (string-match "xpm" ct)
+				     (featurep 'xpm)) 'xpm)
+			       (t nil)))
+		 glyph) 
+	    (if format
+		(progn
+		  (message "Loading image...")
+		  (setq glyph (make-glyph (vector format :file file)))
+		  (if (eq format 'xbm)
+		      (set-glyph-property glyph 'face 'x-face))
+		  (set-extent-begin-glyph (make-extent (point-max) (point-max))
+					  glyph)
+		  (message "Loading image...done."))
+	      (if (and (stringp program) (mew-which program exec-path))
+		  (if async
+		      (mew-mime-start-process program options file)
+		    (mew-mime-call-process program options file)))))))))
 
 (defun pressed-and-activate-toolbar-button (event)
   (interactive "_e")


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