X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fnndraft.el;h=c6f23c41026d2234d96c1888567019b787972470;hb=6ed04e45976939b722a23120b60368829f4c3303;hp=e99b8be7f86074216256cdbc63766dc258efc3b6;hpb=db4013d69bcedfb49793bd451a8367f661ffc921;p=elisp%2Fgnus.git- diff --git a/lisp/nndraft.el b/lisp/nndraft.el index e99b8be..c6f23c4 100644 --- a/lisp/nndraft.el +++ b/lisp/nndraft.el @@ -77,12 +77,16 @@ (save-excursion (set-buffer nntp-server-buffer) (erase-buffer) - (let* (article) + (let* ((buf (get-buffer-create " *draft headers*")) + article) + (set-buffer buf) + (buffer-disable-undo (current-buffer)) + (erase-buffer) ;; We don't support fetching by Message-ID. (if (stringp (car articles)) 'headers (while articles - (narrow-to-region (point) (point)) + (set-buffer buf) (when (nndraft-request-article (setq article (pop articles)) group server (current-buffer)) (goto-char (point-min)) @@ -90,10 +94,10 @@ (forward-line -1) (goto-char (point-max))) (delete-region (point) (point-max)) - (goto-char (point-min)) - (insert (format "221 %d Article retrieved.\n" article)) - (widen) + (set-buffer nntp-server-buffer) (goto-char (point-max)) + (insert (format "221 %d Article retrieved.\n" article)) + (insert-buffer-substring buf) (insert ".\n"))) (nnheader-fold-continuation-lines) @@ -109,9 +113,7 @@ (newest (if (file-newer-than-file-p file auto) file auto)) (nntp-server-buffer (or buffer nntp-server-buffer))) (when (and (file-exists-p newest) - (let ((nnmail-file-coding-system - message-draft-coding-system)) - (nnmail-find-file newest))) + (nnmail-find-file newest)) (save-excursion (set-buffer nntp-server-buffer) (goto-char (point-min)) @@ -152,13 +154,13 @@ (let ((gnus-verbose-backends nil) (buf (current-buffer)) article file) - (with-temp-buffer + (nnheader-temp-write nil (insert-buffer buf) (setq article (nndraft-request-accept-article - group (nnoo-current-server 'nndraft) t 'noinsert) - file (nndraft-article-filename article))) - (setq buffer-file-name (expand-file-name file) - buffer-auto-save-file-name (make-auto-save-file-name)) + group (nnoo-current-server 'nndraft) t 'noinsert)) + (setq file (nndraft-article-filename article))) + (setq buffer-file-name (expand-file-name file)) + (setq buffer-auto-save-file-name (make-auto-save-file-name)) (clear-visited-file-modtime) article))