[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:01147] emacs/mhc-mime.el and...



鈴木圭一と申します。

;; 某所で懸案事項となっていましたので、しばらく前から使わせてい
;; ただいています。

早速なのですが、お願いをいくつか...

1. mhc-mime.el の mhc-mime-import-buffer() なのですが、
   mime-message-structure を元に、 import するような実装に変えて
   いただけないでしょうか?

   これに関しては、一応 patch を付けておきます。(CVS の幹の先端
   からの差分です。)

   ただ、 gnus 以外のものに関しては良くわからないので、すみませ
   んが、手をつけていません。(これで、 Nana7 でも何もしなくても
   動くようになると思います。)

2. C-c . | で import 元のメッセージから日付を推定する時に
   `yyyy-mm-dd' という形式のものも日付として認識するようにしてい
   ただけないでしょうか?

   ;; ちゃんと調べたわけではないのですが man cvs によると ISO 形
   ;; 式だそうです。

よろしくお願いします。

-- 
鈴木圭一 / keiichi@xxxxxxxxx
PGP finger print (DH/DSS)
0B32 B37E 6DE9 3BC1 68A4  4089 7AAF 2B03 ECBD 614B

Index: mhc-gnus.el
===================================================================
RCS file: /cvsroot/mhc/emacs/mhc-gnus.el,v
retrieving revision 1.12
diff -u -r1.12 mhc-gnus.el
--- mhc-gnus.el	2000/07/28 00:28:06	1.12
+++ mhc-gnus.el	2000/12/11 08:39:20
@@ -15,7 +15,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
+(eval-when-compile
+  (require 'cl)
+  (require 'gnus-art))
 (require 'gnus-sum)
 (require 'nnmhc)
 
@@ -74,6 +76,11 @@
   gnus-original-article-buffer)
 
 
+(defun mhc-gnus-mime-get-mime-structure ()
+  (gnus-summary-select-article)
+  gnus-current-headers)
+
+
 (defsubst mhc-gnus/date-to-group-name (date)
   (mhc-date-format date "%s/%02d/%02d" mhc-base-folder yy mm))
 
@@ -185,6 +192,7 @@
   (put 'mhc-gnus 'draft-reedit-file 'mhc-mime-draft-reedit-file)
   (put 'mhc-gnus 'get-import-buffer 'mhc-mime-get-import-buffer)
   (put 'mhc-gnus 'mime-get-raw-buffer 'mhc-gnus-mime-get-raw-buffer)
+  (put 'mhc-gnus 'mime-get-mime-structure 'mhc-gnus-mime-get-mime-structure)
   (put 'mhc-gnus 'draft-translate 'mhc-mime-draft-translate)
   (put 'mhc-gnus 'eword-decode-string 'mhc-mime-eword-decode-string))
 
Index: mhc-mime.el
===================================================================
RCS file: /cvsroot/mhc/emacs/mhc-mime.el,v
retrieving revision 1.5
diff -u -r1.5 mhc-mime.el
--- mhc-mime.el	2000/08/04 02:19:02	1.5
+++ mhc-mime.el	2000/12/11 08:39:20
@@ -20,16 +20,27 @@
   (funcall (mhc-get-function 'mime-get-raw-buffer)))
 
 
+(defsubst mhc-mime-get-mime-structure ()
+  "Get raw buffer of the current message for `mhc-mime-get-import-buffer'."
+  (let ((function (mhc-get-function 'mime-get-mime-structure)))
+    (when function
+      (funcall function))))
+
+
 (defvar mhc-mime-import-buffer " *MHC MIME import*")
 (defun mhc-mime-get-import-buffer (get-original)
-  (let ((raw-buffer (mhc-mime-get-raw-buffer))
-	mime-view-ignored-field-list)
+  (let* ((structure (mhc-mime-get-mime-structure))
+	 (raw-buffer (when (or get-original (not structure))
+		       (mhc-mime-get-raw-buffer)))
+	 mime-view-ignored-field-list)
     (with-current-buffer (get-buffer-create mhc-mime-import-buffer)
-      (mime-view-buffer raw-buffer (current-buffer))
+      (if structure
+	  (mime-display-message structure (current-buffer))
+	(mime-view-buffer raw-buffer (current-buffer)))
       (let (buffer-read-only)
 	(mhc-highlight-message))
       (if get-original
-	  (cons raw-buffer (current-buffer))
+	  (cons (mhc-mime-get-raw-buffer) (current-buffer))
 	(current-buffer)))))