From: morioka Date: Sun, 9 Jun 1996 06:35:10 +0000 (+0000) Subject: (mime-editor/split-and-send): New implementation. X-Git-Tag: Hokutetsu-Ishikawa-new~380 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d97e838bc203bc60c581629ec38731ec976eb1e;p=elisp%2Fsemi.git (mime-editor/split-and-send): New implementation. --- diff --git a/mime-edit.el b/mime-edit.el index 8610151..d2c304a 100644 --- a/mime-edit.el +++ b/mime-edit.el @@ -9,7 +9,7 @@ ;;; Maintainer: MORIOKA Tomohiko ;;; Created: 1994/08/21 renamed from mime.el by UMEDA Masanobu; ;;; 1996/05/24 renamed from tm-edit.el -;;; Version: $Revision: 0.22 $ +;;; Version: $Revision: 0.23 $ ;;; Keywords: mail, news, MIME, multimedia, multilingual ;;; ;;; This file is part of SEMI (September, Emacs MIME Interface) @@ -123,7 +123,7 @@ ;;; (defconst mime-editor/RCS-ID - "$Id: mime-edit.el,v 0.22 1996-06-03 17:39:10 morioka Exp $") + "$Id: mime-edit.el,v 0.23 1996-06-09 06:35:10 morioka Exp $") (defconst mime-editor/version (get-version-string mime-editor/RCS-ID)) @@ -2342,86 +2342,45 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" (replace-space-with-underline (current-time-string)) "@" (system-name) "\""))) (run-hooks 'mime-editor/before-split-hook) - (let* ((header (rfc822/get-header-string-except - mime-editor/split-ignored-field-regexp separator)) - (subject (mail-fetch-field "subject")) - (total (+ (/ lines mime-editor/message-max-length) - (if (> (mod lines mime-editor/message-max-length) 0) - 1))) - (the-buf (current-buffer)) - (buf (get-buffer "*tmp-send*")) - (command - (or cmd - (cdr - (assq major-mode - mime-editor/split-message-sender-alist)) - (cdr - (assq major-mode - mime-editor/message-default-sender-alist)) - )) - data) - (goto-char (point-min)) - (if (re-search-forward (concat "^" (regexp-quote separator) "$") - nil t) - (replace-match "") - ) - (if buf - (progn - (switch-to-buffer buf) - (erase-buffer) - (switch-to-buffer the-buf) - ) - (setq buf (get-buffer-create "*tmp-send*")) - ) - (switch-to-buffer buf) - (make-local-variable 'mail-header-separator) - (setq mail-header-separator separator) - (switch-to-buffer the-buf) - (goto-char (point-min)) - (re-search-forward "^$" nil t) - (let ((mime-editor/partial-number 1)) - (setq data (buffer-substring - (point-min) - (progn - (goto-line mime-editor/message-max-length) - (point)) - )) - (delete-region (point-min)(point)) - (switch-to-buffer buf) - (mime-editor/insert-partial-header - header subject id mime-editor/partial-number total separator) - (insert data) - (save-excursion - (save-restriction - (goto-char (point-min)) - (search-forward (concat "\n" mail-header-separator "\n")) - (narrow-to-region - (match-end 0) - (if (re-search-forward "^$" nil t) - (match-beginning 0) - (point-max) + (let ((the-buf (current-buffer)) + (copy-buf (get-buffer-create " *Original Message*")) + (header (rfc822/get-header-string-except + mime-editor/split-ignored-field-regexp separator)) + (subject (mail-fetch-field "subject")) + (total (+ (/ lines mime-editor/message-max-length) + (if (> (mod lines mime-editor/message-max-length) 0) + 1))) + (command + (or cmd + (cdr + (assq major-mode + mime-editor/split-message-sender-alist)) + (cdr + (assq major-mode + mime-editor/message-default-sender-alist)) )) - (goto-char (point-min)) - (while (re-search-forward - mime-editor/split-blind-field-regexp nil t) - (delete-region (match-beginning 0) - (let ((e (rfc822/field-end))) - (if (< e (point-max)) - (1+ e) - e))) - ) - )) - (save-excursion - (message (format "Sending %d/%d..." - mime-editor/partial-number total)) - (call-interactively command) - (message (format "Sending %d/%d... done" - mime-editor/partial-number total)) - ) + (mime-editor/partial-number 1) + data) + (save-excursion + (set-buffer copy-buf) (erase-buffer) - (switch-to-buffer the-buf) - (setq mime-editor/partial-number 2) - (while (< mime-editor/partial-number total) + (insert-buffer the-buf) + (save-restriction + (if (re-search-forward + (concat "^" (regexp-quote separator) "$") nil t) + (let ((he (match-beginning 0))) + (replace-match "") + (narrow-to-region (point-min) he) + )) + (goto-char (point-min)) + (while (re-search-forward mime-editor/split-blind-field-regexp nil t) + (delete-region (match-beginning 0) + (1+ (rfc822/field-end))) + ))) + (while (< mime-editor/partial-number total) + (erase-buffer) + (save-excursion + (set-buffer copy-buf) (setq data (buffer-substring (point-min) (progn @@ -2429,28 +2388,36 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" (point)) )) (delete-region (point-min)(point)) - (switch-to-buffer buf) - (mime-editor/insert-partial-header - header subject id mime-editor/partial-number total separator) - (insert data) - (save-excursion - (message (format "Sending %d/%d..." - mime-editor/partial-number total)) - (call-interactively command) - (message (format "Sending %d/%d... done" - mime-editor/partial-number total)) - ) - (erase-buffer) - (switch-to-buffer the-buf) - (setq mime-editor/partial-number - (1+ mime-editor/partial-number)) ) - (goto-char (point-min)) (mime-editor/insert-partial-header header subject id mime-editor/partial-number total separator) + (insert data) + (save-excursion + (message (format "Sending %d/%d..." + mime-editor/partial-number total)) + (call-interactively command) + (message (format "Sending %d/%d... done" + mime-editor/partial-number total)) + ) + (setq mime-editor/partial-number + (1+ mime-editor/partial-number)) + ) + (erase-buffer) + (save-excursion + (set-buffer copy-buf) + (setq data (buffer-string)) + (erase-buffer) + ) + (mime-editor/insert-partial-header + header subject id mime-editor/partial-number total separator) + (insert data) + (save-excursion (message (format "Sending %d/%d..." mime-editor/partial-number total)) - )))) + (message (format "Sending %d/%d... done" + mime-editor/partial-number total)) + ) + ))) (defun mime-editor/maybe-split-and-send (&optional cmd) (interactive)