diff options
| author | ShengHuo ZHU | 2001-11-25 20:45:37 +0000 |
|---|---|---|
| committer | ShengHuo ZHU | 2001-11-25 20:45:37 +0000 |
| commit | 0c773047fdc6d16d4533165b0deabbc4304901a9 (patch) | |
| tree | 70a3733a4f338fde42019f2487914c4ab0cfc11c /lisp | |
| parent | 9fefa08b84e1e970f8a98c640ecd458bef989b3e (diff) | |
| download | emacs-0c773047fdc6d16d4533165b0deabbc4304901a9.tar.gz emacs-0c773047fdc6d16d4533165b0deabbc4304901a9.zip | |
2001-11-25 ShengHuo ZHU <zsh@cs.rochester.edu>
* mail/rmail.el (rmail-enable-mime-composing): New. A lightweight
version of rmail-enable-mime.
(rmail-forward): Use it.
* message.el (message-forward-rmail-make-body):
save-window-excursion.
(message-encode-message-body): no error.
(message-setup-1): compose-mail send-actions are different from
message-send-actions.
* message.el (message-forward-subject-author-subject): Don't use
message-news-p, which widens the buffer.
(message-forward-make-body): New function.
(message-forward): Use it.
(message-insinuate-rmail): New.
(message-forward-rmail-make-body): New.
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 151 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 8 |
4 files changed, 112 insertions, 66 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a7e4d895a61..a1e7037c6cd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2001-11-25 ShengHuo ZHU <zsh@cs.rochester.edu> | ||
| 2 | |||
| 3 | * mail/rmail.el (rmail-enable-mime-composing): New. A lightweight | ||
| 4 | version of rmail-enable-mime. | ||
| 5 | (rmail-forward): Use it. | ||
| 6 | |||
| 1 | 2001-11-25 Richard M. Stallman <rms@gnu.org> | 7 | 2001-11-25 Richard M. Stallman <rms@gnu.org> |
| 2 | 8 | ||
| 3 | * emacs-lisp/lisp-mode.el (lisp-indent-function): Add doc string. | 9 | * emacs-lisp/lisp-mode.el (lisp-indent-function): Add doc string. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 7f66f92eef5..e806ebe629b 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,5 +1,18 @@ | |||
| 1 | 2001-11-25 ShengHuo ZHU <zsh@cs.rochester.edu> | 1 | 2001-11-25 ShengHuo ZHU <zsh@cs.rochester.edu> |
| 2 | 2 | ||
| 3 | * message.el (message-forward-rmail-make-body): | ||
| 4 | save-window-excursion. | ||
| 5 | (message-encode-message-body): no error. | ||
| 6 | (message-setup-1): compose-mail send-actions are different from | ||
| 7 | message-send-actions. | ||
| 8 | |||
| 9 | * message.el (message-forward-subject-author-subject): Don't use | ||
| 10 | message-news-p, which widens the buffer. | ||
| 11 | (message-forward-make-body): New function. | ||
| 12 | (message-forward): Use it. | ||
| 13 | (message-insinuate-rmail): New. | ||
| 14 | (message-forward-rmail-make-body): New. | ||
| 15 | |||
| 3 | * gnus-util.el (gnus-directory-sep-char-regexp): New. | 16 | * gnus-util.el (gnus-directory-sep-char-regexp): New. |
| 4 | * gnus-score.el (gnus-score-find-bnews): Sync with Gnus CVS. | 17 | * gnus-score.el (gnus-score-find-bnews): Sync with Gnus CVS. |
| 5 | * mm-util.el: Sync. | 18 | * mm-util.el: Sync. |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 1280fdaf9f5..b8e45caabff 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -3635,8 +3635,10 @@ than 988 characters long, and if they are not, trim them until they are." | |||
| 3635 | (push '(message-mode (encrypt . mc-encrypt-message) | 3635 | (push '(message-mode (encrypt . mc-encrypt-message) |
| 3636 | (sign . mc-sign-message)) | 3636 | (sign . mc-sign-message)) |
| 3637 | mc-modes-alist)) | 3637 | mc-modes-alist)) |
| 3638 | (when actions | 3638 | (dolist (action actions) |
| 3639 | (setq message-send-actions actions)) | 3639 | (condition-case nil |
| 3640 | (add-to-list 'message-send-actions | ||
| 3641 | `(apply ',(car action) ',(cdr action))))) | ||
| 3640 | (setq message-reply-buffer replybuffer) | 3642 | (setq message-reply-buffer replybuffer) |
| 3641 | (goto-char (point-min)) | 3643 | (goto-char (point-min)) |
| 3642 | ;; Insert all the headers. | 3644 | ;; Insert all the headers. |
| @@ -4155,8 +4157,8 @@ Source is the sender, and if the original message was news, Source is | |||
| 4155 | the list of newsgroups is was posted to." | 4157 | the list of newsgroups is was posted to." |
| 4156 | (concat "[" | 4158 | (concat "[" |
| 4157 | (let ((prefix | 4159 | (let ((prefix |
| 4158 | (or (message-fetch-field | 4160 | (or (message-fetch-field "newsgroups") |
| 4159 | (if (message-news-p) "newsgroups" "from")) | 4161 | (message-fetch-field "from") |
| 4160 | "(nowhere)"))) | 4162 | "(nowhere)"))) |
| 4161 | (if message-forward-decoded-p | 4163 | (if message-forward-decoded-p |
| 4162 | prefix | 4164 | prefix |
| @@ -4199,6 +4201,7 @@ the message." | |||
| 4199 | (eval-when-compile | 4201 | (eval-when-compile |
| 4200 | (defvar gnus-article-decoded-p)) | 4202 | (defvar gnus-article-decoded-p)) |
| 4201 | 4203 | ||
| 4204 | |||
| 4202 | ;;;###autoload | 4205 | ;;;###autoload |
| 4203 | (defun message-forward (&optional news digest) | 4206 | (defun message-forward (&optional news digest) |
| 4204 | "Forward the current message via mail. | 4207 | "Forward the current message via mail. |
| @@ -4206,39 +4209,42 @@ Optional NEWS will use news to forward instead of mail. | |||
| 4206 | Optional DIGEST will use digest to forward." | 4209 | Optional DIGEST will use digest to forward." |
| 4207 | (interactive "P") | 4210 | (interactive "P") |
| 4208 | (let* ((cur (current-buffer)) | 4211 | (let* ((cur (current-buffer)) |
| 4209 | (message-forward-decoded-p | 4212 | (message-forward-decoded-p |
| 4210 | (if (local-variable-p 'gnus-article-decoded-p (current-buffer)) | 4213 | (if (local-variable-p 'gnus-article-decoded-p (current-buffer)) |
| 4211 | gnus-article-decoded-p ;; In an article buffer. | 4214 | gnus-article-decoded-p ;; In an article buffer. |
| 4212 | message-forward-decoded-p)) | 4215 | message-forward-decoded-p)) |
| 4213 | (subject (message-make-forward-subject)) | 4216 | (subject (message-make-forward-subject))) |
| 4214 | art-beg) | ||
| 4215 | (if news | 4217 | (if news |
| 4216 | (message-news nil subject) | 4218 | (message-news nil subject) |
| 4217 | (message-mail nil subject)) | 4219 | (message-mail nil subject)) |
| 4218 | ;; Put point where we want it before inserting the forwarded | 4220 | (message-forward-make-body cur digest))) |
| 4219 | ;; message. | 4221 | |
| 4220 | (if message-forward-before-signature | 4222 | ;;;###autoload |
| 4221 | (message-goto-body) | 4223 | (defun message-forward-make-body (forward-buffer &optional digest) |
| 4222 | (goto-char (point-max))) | 4224 | ;; Put point where we want it before inserting the forwarded |
| 4223 | (if message-forward-as-mime | 4225 | ;; message. |
| 4224 | (if digest | 4226 | (if message-forward-before-signature |
| 4225 | (insert "\n<#multipart type=digest>\n") | 4227 | (message-goto-body) |
| 4226 | (if message-forward-show-mml | 4228 | (goto-char (point-max))) |
| 4227 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") | 4229 | (if message-forward-as-mime |
| 4228 | (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n"))) | ||
| 4229 | (insert "\n-------------------- Start of forwarded message --------------------\n")) | ||
| 4230 | (let ((b (point)) e) | ||
| 4231 | (if digest | 4230 | (if digest |
| 4232 | (if message-forward-as-mime | 4231 | (insert "\n<#multipart type=digest>\n") |
| 4233 | (insert-buffer-substring cur) | 4232 | (if message-forward-show-mml |
| 4234 | (mml-insert-buffer cur)) | 4233 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") |
| 4235 | (if (and message-forward-show-mml | 4234 | (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n"))) |
| 4236 | (not message-forward-decoded-p)) | 4235 | (insert "\n-------------------- Start of forwarded message --------------------\n")) |
| 4237 | (insert | 4236 | (let ((b (point)) e) |
| 4238 | (with-temp-buffer | 4237 | (if digest |
| 4239 | (mm-disable-multibyte-mule4) ;; Must copy buffer in unibyte mode | 4238 | (if message-forward-as-mime |
| 4239 | (insert-buffer-substring forward-buffer) | ||
| 4240 | (mml-insert-buffer forward-buffer)) | ||
| 4241 | (if (and message-forward-show-mml | ||
| 4242 | (not message-forward-decoded-p)) | ||
| 4243 | (insert | ||
| 4244 | (with-temp-buffer | ||
| 4245 | (mm-disable-multibyte-mule4) ;; Must copy buffer in unibyte mode | ||
| 4240 | (insert | 4246 | (insert |
| 4241 | (with-current-buffer cur | 4247 | (with-current-buffer forward-buffer |
| 4242 | (mm-string-as-unibyte (buffer-string)))) | 4248 | (mm-string-as-unibyte (buffer-string)))) |
| 4243 | (mm-enable-multibyte-mule4) | 4249 | (mm-enable-multibyte-mule4) |
| 4244 | (mime-to-mml) | 4250 | (mime-to-mml) |
| @@ -4246,37 +4252,53 @@ Optional DIGEST will use digest to forward." | |||
| 4246 | (when (looking-at "From ") | 4252 | (when (looking-at "From ") |
| 4247 | (replace-match "X-From-Line: ")) | 4253 | (replace-match "X-From-Line: ")) |
| 4248 | (buffer-string))) | 4254 | (buffer-string))) |
| 4249 | (save-restriction | 4255 | (save-restriction |
| 4250 | (narrow-to-region (point) (point)) | 4256 | (narrow-to-region (point) (point)) |
| 4251 | (mml-insert-buffer cur) | 4257 | (mml-insert-buffer forward-buffer) |
| 4252 | (goto-char (point-min)) | 4258 | (goto-char (point-min)) |
| 4253 | (when (looking-at "From ") | 4259 | (when (looking-at "From ") |
| 4254 | (replace-match "X-From-Line: ")) | 4260 | (replace-match "X-From-Line: ")) |
| 4255 | (goto-char (point-max))))) | 4261 | (goto-char (point-max))))) |
| 4256 | (setq e (point)) | 4262 | (setq e (point)) |
| 4257 | (if message-forward-as-mime | 4263 | (if message-forward-as-mime |
| 4258 | (if digest | 4264 | (if digest |
| 4259 | (insert "<#/multipart>\n") | 4265 | (insert "<#/multipart>\n") |
| 4260 | (if message-forward-show-mml | 4266 | (if message-forward-show-mml |
| 4261 | (insert "<#/mml>\n") | 4267 | (insert "<#/mml>\n") |
| 4262 | (insert "<#/part>\n"))) | 4268 | (insert "<#/part>\n"))) |
| 4263 | (insert "\n-------------------- End of forwarded message --------------------\n")) | 4269 | (insert "\n-------------------- End of forwarded message --------------------\n")) |
| 4264 | (if (and digest message-forward-as-mime) | 4270 | (if (and digest message-forward-as-mime) |
| 4265 | (save-restriction | 4271 | (save-restriction |
| 4266 | (narrow-to-region b e) | 4272 | (narrow-to-region b e) |
| 4267 | (goto-char b) | 4273 | (goto-char b) |
| 4268 | (narrow-to-region (point) | 4274 | (narrow-to-region (point) |
| 4269 | (or (search-forward "\n\n" nil t) (point))) | 4275 | (or (search-forward "\n\n" nil t) (point))) |
| 4270 | (delete-region (point-min) (point-max))) | 4276 | (delete-region (point-min) (point-max))) |
| 4271 | (when (and (not current-prefix-arg) | 4277 | (when (and (not current-prefix-arg) |
| 4272 | message-forward-ignored-headers) | 4278 | message-forward-ignored-headers) |
| 4273 | (save-restriction | 4279 | (save-restriction |
| 4274 | (narrow-to-region b e) | 4280 | (narrow-to-region b e) |
| 4275 | (goto-char b) | 4281 | (goto-char b) |
| 4276 | (narrow-to-region (point) | 4282 | (narrow-to-region (point) |
| 4277 | (or (search-forward "\n\n" nil t) (point))) | 4283 | (or (search-forward "\n\n" nil t) (point))) |
| 4278 | (message-remove-header message-forward-ignored-headers t))))) | 4284 | (message-remove-header message-forward-ignored-headers t))))) |
| 4279 | (message-position-point))) | 4285 | (message-position-point)) |
| 4286 | |||
| 4287 | ;;;###autoload | ||
| 4288 | (defun message-forward-rmail-make-body (forward-buffer) | ||
| 4289 | (save-window-excursion | ||
| 4290 | (set-buffer forward-buffer) | ||
| 4291 | (let (rmail-enable-mime) | ||
| 4292 | (rmail-toggle-header 0))) | ||
| 4293 | (message-forward-make-body forward-buffer)) | ||
| 4294 | |||
| 4295 | ;;;###autoload | ||
| 4296 | (defun message-insinuate-rmail () | ||
| 4297 | "Let RMAIL uses message to forward." | ||
| 4298 | (interactive) | ||
| 4299 | (setq rmail-enable-mime-composing t) | ||
| 4300 | (setq rmail-insert-mime-forwarded-message-function | ||
| 4301 | 'message-forward-rmail-make-body)) | ||
| 4280 | 4302 | ||
| 4281 | ;;;###autoload | 4303 | ;;;###autoload |
| 4282 | (defun message-resend (address) | 4304 | (defun message-resend (address) |
| @@ -4648,9 +4670,10 @@ regexp varstr." | |||
| 4648 | ;; /usr/bin/mail. | 4670 | ;; /usr/bin/mail. |
| 4649 | (unless content-type-p | 4671 | (unless content-type-p |
| 4650 | (goto-char (point-min)) | 4672 | (goto-char (point-min)) |
| 4651 | (re-search-forward "^MIME-Version:") | 4673 | ;; For unknown reason, MIME-Version doesn't exist. |
| 4652 | (forward-line 1) | 4674 | (when (re-search-forward "^MIME-Version:" nil t) |
| 4653 | (insert "Content-Type: text/plain; charset=us-ascii\n"))))) | 4675 | (forward-line 1) |
| 4676 | (insert "Content-Type: text/plain; charset=us-ascii\n")))))) | ||
| 4654 | 4677 | ||
| 4655 | (defun message-read-from-minibuffer (prompt) | 4678 | (defun message-read-from-minibuffer (prompt) |
| 4656 | "Read from the minibuffer while providing abbrev expansion." | 4679 | "Read from the minibuffer while providing abbrev expansion." |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 00626ffc3af..46a005d74ac 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -420,6 +420,9 @@ until a user explicitly requires it." | |||
| 420 | (other :tag "when asked" ask)) | 420 | (other :tag "when asked" ask)) |
| 421 | :group 'rmail) | 421 | :group 'rmail) |
| 422 | 422 | ||
| 423 | (defvar rmail-enable-mime-composing nil | ||
| 424 | "*If non-nil, RMAIL uses `rmail-insert-mime-forwarded-message-function' to forward.") | ||
| 425 | |||
| 423 | ;;;###autoload | 426 | ;;;###autoload |
| 424 | (defvar rmail-show-mime-function nil | 427 | (defvar rmail-show-mime-function nil |
| 425 | "Function to show MIME decoded message of RMAIL file. | 428 | "Function to show MIME decoded message of RMAIL file. |
| @@ -429,7 +432,8 @@ It is called with no argument.") | |||
| 429 | ;;;###autoload | 432 | ;;;###autoload |
| 430 | (defvar rmail-insert-mime-forwarded-message-function nil | 433 | (defvar rmail-insert-mime-forwarded-message-function nil |
| 431 | "Function to insert a message in MIME format so it can be forwarded. | 434 | "Function to insert a message in MIME format so it can be forwarded. |
| 432 | This function is called if `rmail-enable-mime' is non-nil. | 435 | This function is called if `rmail-enable-mime' or |
| 436 | `rmail-enable-mime-composing' is non-nil. | ||
| 433 | It is called with one argument FORWARD-BUFFER, which is a | 437 | It is called with one argument FORWARD-BUFFER, which is a |
| 434 | buffer containing the message to forward. The current buffer | 438 | buffer containing the message to forward. The current buffer |
| 435 | is the outgoing mail buffer.") | 439 | is the outgoing mail buffer.") |
| @@ -3253,7 +3257,7 @@ see the documentation of `rmail-resend'." | |||
| 3253 | (save-excursion | 3257 | (save-excursion |
| 3254 | ;; Insert after header separator--before signature if any. | 3258 | ;; Insert after header separator--before signature if any. |
| 3255 | (goto-char (mail-text-start)) | 3259 | (goto-char (mail-text-start)) |
| 3256 | (if rmail-enable-mime | 3260 | (if (or rmail-enable-mime rmail-enable-mime-composing) |
| 3257 | (funcall rmail-insert-mime-forwarded-message-function | 3261 | (funcall rmail-insert-mime-forwarded-message-function |
| 3258 | forward-buffer) | 3262 | forward-buffer) |
| 3259 | (insert "------- Start of forwarded message -------\n") | 3263 | (insert "------- Start of forwarded message -------\n") |