[Mew-dist 3193] Re: mew-summary-reedit
Mito
mit at example.com
1997年 12月 15日 (月) 21:37:25 JST
※ "元" こと motoki at example.com さんの
『[Mew-dist 3118] Re: mew-summary-reedit』からの引用です。
元> マルチパートメールを作成しているときに、
元> ----
元> This is a test.
元> ----------- attachments -----------
元> 4/ Multipart/Mixed
元> 1 CoverPage Text/Plain(guess)
元> 2 test.c Text/Plain(guess)
元> 3 .
元> --------0-1-2-3-4-5-6-7-8-9--------
元>
元> のような状況でそのまま保存すると、mew-summary-reedit をしたときに
元> ふつうのテキストになってしまい、マルチパート作成にはなりません。
# 今日、この不便さを感じました。
mew-save-buffer() で mew-draft-syntax-file だけ出力するよう
にしました。
ct がある場合は今まで通りで、ない場合は
mew-draft-syntax-file を読み込み attachment を再構成するよう
になっているはずです。
おかしいところがあるはずですので、注意してください。(_ _)
# b7 へのパッチです。
--
12/15 21:35頃
NECソフトウェア新潟 水戸
mailto:mit at example.com
-------------- next part --------------
--- mew-draft.el 1997/12/15 10:48:16 1.1
+++ mew-draft.el 1997/12/15 10:52:14
@@ -999,7 +999,15 @@
(defun mew-save-buffer ()
(interactive)
(mew-frwlet mew-cs-noconv mew-cs-draft
- (save-buffer)))
+ (if (not (mew-attach-p))
+ (save-buffer)
+ (mew-draft-make-syntax)
+ (save-excursion
+ (write-region (point-min)
+ (marker-position mew-draft-buffer-attach)
+ (buffer-file-name))
+ (set-buffer-modified-p nil)
+ (set-visited-file-modtime nil)))))
(defun mew-draft-rehighlight (arg)
(interactive "P")
--- mew-encode.el 1997/12/15 10:48:16 1.1
+++ mew-encode.el 1997/12/15 10:51:26
@@ -109,6 +109,20 @@
(mew-encode-singlepart (mew-encode-syntax-single "text-file") nil nil t)
)
+(defun mew-draft-make-syntax ()
+ (let* ((path (mew-expand-folder (mew-draft-to-mime (buffer-name))))
+ (syntax-file (expand-file-name mew-draft-syntax-file path))
+ (syntax mew-encode-syntax))
+ (save-excursion
+ (set-buffer (find-file-noselect syntax-file))
+ (mew-erase-buffer)
+ (prin1 syntax (current-buffer)) ;; different buffer, so use syntax
+ (terpri (current-buffer))
+ (save-buffer)
+ (message "") ;; flush echo area
+ (kill-buffer (current-buffer))
+ )))
+
(defun mew-draft-make-backup (&optional single)
;; back up the draft and its syntax
(let* ((path (mew-expand-folder (mew-draft-to-mime (buffer-name))))
@@ -119,15 +133,7 @@
(if (not (file-exists-p path)) (mew-make-directory path)) ;;for single part
(write-region (point-min) (point-max) backup-file nil 'no-msg)
(if (not single)
- (save-excursion
- (set-buffer (find-file-noselect syntax-file))
- (mew-erase-buffer)
- (prin1 syntax (current-buffer)) ;; different buffer, so use syntax
- (terpri (current-buffer))
- (save-buffer)
- (message "") ;; flush echo area
- (kill-buffer (current-buffer))
- ))
+ (mew-draft-make-syntax))
))
;; xxx will be obsoleted?
--- mew-summary.el 1997/12/15 10:48:16 1.1
+++ mew-summary.el 1997/12/15 11:24:27
@@ -1401,6 +1401,21 @@
;;; Edit again
;;;
+(defun mew-draft-recover-syntax ()
+ (let* ((path (mew-expand-folder (mew-draft-to-mime (buffer-name))))
+ (syntax-file (expand-file-name mew-draft-syntax-file path)))
+ (if (not (file-exists-p syntax-file))
+ () ;; single
+ (save-excursion
+ (find-file-read-only syntax-file)
+ (goto-char (point-min))
+ (setq mew-encode-syntax (read (current-buffer)))
+ (kill-buffer (current-buffer))
+ )
+ (mew-draft-prepare-attachments)
+ (delete-file syntax-file)
+ )))
+
(defun mew-summary-reedit ()
"Edit this message again to send. Or edit this rfc822 part
typically included MIME-encapsulated error message.
@@ -1475,7 +1490,9 @@
(insert mew-header-separator "\n")
(mew-draft-mode)
)
- (save-buffer))
+ (if (not (mew-header-get-value "Content-Type:"))
+ (mew-draft-recover-syntax))
+ (mew-save-buffer))
(if mew-touch-folder-p (mew-touch-folder mew-draft-folder))
(message "Draft is prepared"))
)
Mew-dist メーリングリストの案内