Re: mime-edit の拡張
Hiroya Murata <[email protected]> Tue, 25 Oct 2005 22:38:56 +0900
| Newsgroups | gmane.mail.emacs.mime.japanese |
|---|---|
| Message-ID | <u1x29solr.wl%[email protected]> |
In the message [emacs-mime-ja : No.02002] on Tue, 25 Oct 2005 11:13:35 +0900, Hiroya Murata wrote: > ;; 実体の参照に text-property を使っている関係で, wl-draft-save で > ;; 添付パートが消えちゃってます. 使ってみようと言う方は注意して下 > ;; さい. 取り敢えず, この問題を解消する為のパッチです. -- Hiroya Murata (村田 浩也) <[email protected]> PGP fingerprint: 53B6 1B4A 8193 A2D4 1526 BC9E 9AEF 2F6D 249D 5F17
wl-draft.el.patch
(application/octet-stream, 2.6 KB)
Index: wl/wl-draft.el
===================================================================
RCS file: /cvs/root/wanderlust/wl/wl-draft.el,v
retrieving revision 1.254
diff -u -r1.254 wl-draft.el
--- wl/wl-draft.el 16 Mar 2005 09:10:22 -0000 1.254
+++ wl/wl-draft.el 25 Oct 2005 13:37:13 -0000
@@ -66,6 +66,7 @@
(defvar wl-draft-config-exec-flag t)
(defvar wl-draft-buffer-cur-summary-buffer nil)
(defvar wl-draft-clone-local-variable-regexp "^\\(wl\\|mime\\)")
+(defvar wl-draft-ignore-clone-variables '(mime-edit-attached-entity-buffers))
(defvar wl-draft-sendlog-filename "sendlog")
(defvar wl-draft-queue-save-filename "qinfo")
(defvar wl-draft-config-save-filename "config")
@@ -575,7 +576,7 @@
body-beg)
(set-buffer tmp-buf)
(erase-buffer)
- (insert string)
+ (insert (string-to-multibyte string))
(setq to (std11-field-body "To"))
(setq to (and to
(eword-decode-string
@@ -1263,15 +1264,14 @@
(wl-draft-send kill-when-done mes-string))))
(defun wl-draft-clone-local-variables ()
- (let ((locals (buffer-local-variables))
- result)
- (while locals
- (when (and (consp (car locals))
- (car (car locals))
+ (let (symbol result)
+ (dolist (local (buffer-local-variables))
+ (when (and (consp local)
+ (setq symbol (car local))
+ (not (memq symbol wl-draft-ignore-clone-variables))
(string-match wl-draft-clone-local-variable-regexp
- (symbol-name (car (car locals)))))
- (wl-append result (list (car (car locals)))))
- (setq locals (cdr locals)))
+ (symbol-name symbol)))
+ (setq result (cons symbol result))))
result))
(defcustom wl-draft-send-confirm-with-preview t
@@ -1325,7 +1325,8 @@
;; Don't call this explicitly.
;; Added to 'wl-draft-send-hook (by teranisi)
;; (wl-draft-config-exec)
- (run-hooks 'wl-draft-send-hook)
+ (let ((inhibit-read-only t))
+ (run-hooks 'wl-draft-send-hook))
(when (or (not wl-interactive-send)
(wl-draft-send-confirm))
(let ((send-mail-function 'wl-draft-raw-send)
@@ -1428,7 +1429,7 @@
(if (buffer-modified-p)
(progn
(message "Saving...")
- (let ((msg (buffer-substring-no-properties (point-min) (point-max)))
+ (let ((draft-buffer (current-buffer))
next-number)
(when wl-draft-buffer-message-number
(elmo-folder-delete-messages (wl-draft-get-folder)
@@ -1438,7 +1439,7 @@
(elmo-folder-check (wl-draft-get-folder))
;; If no header separator, insert it.
(with-temp-buffer
- (insert msg)
+ (insert-buffer-substring draft-buffer)
(goto-char (point-min))
(unless (re-search-forward
(concat "^" (regexp-quote mail-header-separator) "$")