Add hooks for gcc handling
authorChristopher Schmidt <christopher@ch.ristopher.com>
Thu, 15 Mar 2012 01:32:15 +0000 (02:32 +0100)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 15 Mar 2012 01:32:15 +0000 (02:32 +0100)
* gnus-msg.el (gnus-inews-do-gcc): Add gnus-gcc-pre-body-encode-hook
and gnus-gcc-post-body-encode-hook.

lisp/ChangeLog
lisp/gnus-msg.el
texi/ChangeLog
texi/gnus.texi

index 203e665..703550e 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-14  Christopher Schmidt  <christopher@ch.ristopher.com>
+
+        * gnus-msg.el (gnus-inews-do-gcc): Add gnus-gcc-pre-body-encode-hook
+        and gnus-gcc-post-body-encode-hook.
+
 2012-03-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-group.el (gnus-group-expire-articles-1): Don't try to expire
index 5e163e4..ff250b8 100644 (file)
@@ -313,6 +313,22 @@ If nil, the address field will always be empty after invoking
   :group 'gnus-message
   :type 'boolean)
 
+(defcustom gnus-gcc-pre-body-encode-hook nil
+  "A hook called before encoding the body of the Gcc copy of a message.
+The current buffer (when the hook is run) contains the message
+including the message header.  Changes made to the message will
+only affect the Gcc copy, but not the original message."
+  :group 'gnus-message
+  :type 'hook)
+
+(defcustom gnus-gcc-post-body-encode-hook nil
+    "A hook called after encoding the body of the Gcc copy of a message.
+The current buffer (when the hook is run) contains the message
+including the message header.  Changes made to the message will
+only affect the Gcc copy, but not the original message."
+  :group 'gnus-message
+  :type 'hook)
+
 (autoload 'gnus-message-citation-mode "gnus-cite" nil t)
 
 ;;; Internal variables.
@@ -1642,7 +1658,9 @@ this is a reply."
              (nnheader-set-temp-buffer " *acc*")
              (setq message-options (with-current-buffer cur message-options))
              (insert-buffer-substring cur)
+             (run-hooks 'gnus-gcc-pre-body-encode-hook)
              (message-encode-message-body)
+             (run-hooks 'gnus-gcc-post-body-encode-hook)
              (save-restriction
                (message-narrow-to-headers)
                (let* ((mail-parse-charset message-default-charset)
index df08f5a..be92527 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-14  Christopher Schmidt  <christopher@ch.ristopher.com>
+
+       * gnus.texi (Archived Messages): Mention gnus-gcc-pre-body-encode-hook
+       and gnus-gcc-post-body-encode-hook. 
+
 2012-02-28  Glenn Morris  <rgm@gnu.org>
 
        * gnus-faq.texi, gnus-news.texi, gnus.texi:
index 2520e63..0c40d56 100644 (file)
@@ -12675,6 +12675,19 @@ this is @code{no-gcc-self}, that is the default, resent messages will be
 @code{Gcc} copied to groups that existing @code{Gcc} header specifies,
 except for the current group.
 
+@item gnus-gcc-pre-body-encode-hook
+@vindex gnus-gcc-pre-body-encode-hook
+@itemx gnus-gcc-post-body-encode-hook
+@vindex gnus-gcc-post-body-encode-hook
+
+These hooks are run before/after encoding the message body of the Gcc
+copy of a sent message.  The current buffer (when the hook is run)
+contains the message including the message header.  Changes made to
+the message will only affect the Gcc copy, but not the original
+message.  You can use these hooks to edit the copy (and influence
+subsequent transformations), e.g. remove MML secure tags
+(@pxref{Signing and encrypting}).
+
 @end table
 
 
@@ -28329,6 +28342,25 @@ New features in No Gnus:
 I'm sure there will be lots of text here.  It's really spelled 真
 Gnus.
 
+New features in Ma Gnus:
+
+@itemize @bullet
+
+@item Changes in Message mode and related Gnus features
+@c ****************************************************
+
+@itemize @bullet
+
+@item
+The new hooks @code{gnus-gcc-pre-body-encode-hook} and
+@code{gnus-gcc-post-body-encode-hook} are run before/after encoding
+the message body of the Gcc copy of a sent message.  See
+@xref{Archived Messages}.
+
+@end itemize
+
+@end itemize
+
 @iftex
 
 @page