]> code.delx.au - gnu-emacs/commitdiff
Add to sendmail.el a new command mail-add-attachment.
authorEli Zaretskii <eliz@gnu.org>
Sat, 10 Sep 2011 08:26:12 +0000 (11:26 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 10 Sep 2011 08:26:12 +0000 (11:26 +0300)
 etc/NEWS: Document the new command and the alias for mail-insert-file.
 lisp/mail/sendmail.el (mml-to-mime, mml-attach-file)
 (mm-default-file-encoding): Remove autoload forms, they are
 replaced with autoload cookies in mml.el and mm-encode.el.
 (mail-add-attachment): New command.
 (mail-mode-map): Add a menu-bar item for mail-add-attachment.
 (mail-mode): Mention mail-insert-file and mail-add-attachment in
 the doc string.
 (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare.
 lisp/gnus/mm-encode.el (mm-default-file-encoding): Add autoload cookie.
 lisp/gnus/mml.el (mml-to-mime, mml-attach-file): Add autoload cookies.
 doc/emacs/sending.texi (Mail Misc): Document mail-add-attachment.

doc/emacs/ChangeLog
doc/emacs/sending.texi
etc/NEWS
lisp/ChangeLog
lisp/gnus/ChangeLog
lisp/gnus/mm-encode.el
lisp/gnus/mml.el
lisp/mail/sendmail.el

index 5695841730034e15722b2d9c39e806505d49a280..b9dbddad3ca098493e6e1aa21d91ba9260672f39 100644 (file)
@@ -1,3 +1,7 @@
+2011-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * sending.texi (Mail Misc): Document mail-add-attachment.
+
 2011-09-04  Eli Zaretskii  <eliz@gnu.org>
 
        * basic.texi (Inserting Text): Add index entries.  (Bug#9433)
index 02857459cc10bf92c138072d80667523f12f2d88..50ec852d7402e46fbbd01d73799f85ff4c6b589e 100644 (file)
@@ -556,8 +556,8 @@ package, which provides more flexible citation
 @cindex Multipurpose Internet Mail Extensions
   You can @dfn{attach} a file to an outgoing message by typing
 @kbd{C-c C-a} (@code{mml-attach-file}) in the mail buffer.  Attaching
-is done using the MIME (Multipurpose Internet Mail Extensions)
-standard.
+is done using the Multipurpose Internet Mail Extensions
+(@acronym{MIME}) standard.
 
   The @code{mml-attach-file} command prompts for the name of the file,
 and for the attachment's @dfn{content type}, @dfn{description}, and
@@ -570,6 +570,13 @@ recipient will see a link to the attachment within the message body,
 or @samp{attachment}, which means the link will be separate from the
 body.
 
+@findex mail-add-attachment
+  The @code{mml-attach-file} command is specific to Message mode; in
+Mail mode use @kbd{mail-add-attachment} instead.  It will prompt only
+for the name of the file, and will determine the content type and the
+disposition automatically.  If you want to include some description of
+the attached file, type that in the message body.
+
   The actual contents of the attached file are not inserted into the
 mail buffer.  Instead, some placeholder text is inserted into the mail
 buffer, like this:
index dbeca0b521b940900b9aae34bbcdb96f76100f46..aaeeed4803e13744d731c6fcf4ee11b8b9b30427 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -156,6 +156,15 @@ If you had that set, then then you need to put
 
 in your ~/.authinfo file instead.
 
+*** sendmail changes
++++
+You can now add MIME attachments to outgoing messages with the new
+command `mail-add-attachment'.
+
+---
+The command `mail-attach-file' was renamed to `mail-insert-file'; the
+old name is now an obsolete alias to the new name.
+
 ** Emacs server and client changes
 +++
 *** New option `server-port' specifies the port on which the Emacs
index 89b43bab43d215e7d4973b1f0759773df17303c0..d1a219dfb8d7f78d8d50459f07009d895279b6db 100644 (file)
@@ -1,3 +1,14 @@
+2011-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * mail/sendmail.el (mml-to-mime, mml-attach-file)
+       (mm-default-file-encoding): Remove autoload forms, they are
+       replaced with autoload cookies in mml.el and mm-encode.el.
+       (mail-add-attachment): New command.
+       (mail-mode-map): Add a menu-bar item for mail-add-attachment.
+       (mail-mode): Mention mail-insert-file and mail-add-attachment in
+       the doc string.
+       (mml-to-mime, mml-attach-file, mm-default-file-encoding): Declare.
+
 2011-09-10  Reuben Thomas  <rrt@sc3d.org>
 
        * simple.el (count-words-region): Use buffer if there's no region.
index b989314557fa01ad6c550bedec5890a196e5258b..010070526ef99936c8181131c4cad2029090d7de 100644 (file)
@@ -1,3 +1,10 @@
+2011-09-10  Eli Zaretskii  <eliz@gnu.org>
+
+       Add autoload cookies for functions used by sendmail.el.
+       * mm-encode.el (mm-default-file-encoding): Add autoload cookie.
+
+       * mml.el (mml-to-mime, mml-attach-file): Add autoload cookies.
+
 2011-09-09  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-art.el (article-date-ut): Work properly even when there are
index 055ba475b8e18e34a92ab1ba184647ca89dc4971..0fb0e7a0795d2592c3af35af17e241d1bac7f6ea 100644 (file)
@@ -97,6 +97,7 @@ This variable should never be set directly, but bound before a call to
     (insert "Content-Type: multipart/mixed; boundary=\"" boundary "\"\n")
     boundary))
 
+;;;###autoload
 (defun mm-default-file-encoding (file)
   "Return a default encoding for FILE."
   (if (not (string-match "\\.[^.]+$" file))
index 8b196fa26fc97c4569207510dca86aa9ba63f10a..e3939188a7b4cab2a86b902a51cf08207eb4629d 100644 (file)
@@ -897,6 +897,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
 (autoload 'message-encode-message-body "message")
 (declare-function message-narrow-to-headers-or-head "message" ())
 
+;;;###autoload
 (defun mml-to-mime ()
   "Translate the current buffer from MML to MIME."
   ;; `message-encode-message-body' will insert an encoded Content-Description
@@ -1294,6 +1295,7 @@ to specify options."
   :version "22.1" ;; Gnus 5.10.9
   :group 'message)
 
+;;;###autoload
 (defun mml-attach-file (file &optional type description disposition)
   "Attach a file to the outgoing MIME message.
 The file is not inserted or encoded until you send the message with
index f7dc01e8ebfefc08ec1200b4f00389af29d93b57..4a319990b2f071312208f43f84096fef27de2b38 100644 (file)
@@ -31,9 +31,6 @@
 
 (require 'rfc2047)
 
-(autoload 'mml-to-mime "mml"
-  "Translate the current buffer from MML to MIME.")
-
 (defgroup sendmail nil
   "Mail sending commands for Emacs."
   :prefix "mail-"
@@ -310,6 +307,9 @@ The default value matches citations like `foo-bar>' plus whitespace."
     (define-key map [menu-bar mail]
       (cons "Mail" (make-sparse-keymap "Mail")))
 
+    (define-key map [menu-bar mail attachment]
+      '("Attach File" . mail-add-attachment))
+
     (define-key map [menu-bar mail fill]
       '("Fill Citation" . mail-fill-yanked-message))
 
@@ -700,6 +700,8 @@ Here are commands that move to a header field (and create it if there isn't):
 \\[mail-signature]  mail-signature (insert `mail-signature-file' file).
 \\[mail-yank-original]  mail-yank-original (insert current message, in Rmail).
 \\[mail-fill-yanked-message]  mail-fill-yanked-message (fill what was yanked).
+\\[mail-insert-file] insert a text file into the message.
+\\[mail-add-attachment] attach to the message a file as binary attachment.
 Turning on Mail mode runs the normal hooks `text-mode-hook' and
 `mail-mode-hook' (in that order)."
   (make-local-variable 'mail-reply-action)
@@ -868,6 +870,7 @@ header when sending a message to a mailing list."
   :type '(repeat string)
   :group 'sendmail)
 
+(declare-function mml-to-mime "mml" ())
 
 (defun mail-send ()
   "Send the message in the current buffer.
@@ -1697,7 +1700,7 @@ If the current line has `mail-yank-prefix', insert it on the new line."
   (split-line mail-yank-prefix))
 
 \f
-(defun mail-attach-file (&optional file)
+(defun mail-insert-file (&optional file)
   "Insert a file at the end of the buffer, with separator lines around it."
   (interactive "fAttach file: ")
   (save-excursion
@@ -1716,6 +1719,21 @@ If the current line has `mail-yank-prefix', insert it on the new line."
       (insert-file-contents file)
       (or (bolp) (newline))
       (goto-char start))))
+
+(define-obsolete-function-alias 'mail-attach-file 'mail-insert-file "24.1")
+
+(declare-function mml-attach-file "mml"
+                 (file &optional type description disposition))
+(declare-function mm-default-file-encoding "mm-encode" (file))
+
+(defun mail-add-attachment (file)
+  "Add FILE as a MIME attachment to the end of the mail message being composed."
+  (interactive "fAttach file: ")
+  (mml-attach-file file
+                  (or (mm-default-file-encoding file)
+                      "application/octet-stream") nil)
+  (setq mail-encode-mml t))
+
 \f
 ;; Put these commands last, to reduce chance of lossage from quitting
 ;; in middle of loading the file.