Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <jas@extundo.com>
Subject: Re: message-subject-re
Date: Wed, 29 Aug 2001 21:33:19 +0200	[thread overview]
Message-ID: <ilu4rqqr79c.fsf@barbar.josefsson.org> (raw)
In-Reply-To: <m3elpu3do0.fsf@multivac.cwru.edu> (prj@po.cwru.edu's message of "Wed, 29 Aug 2001 14:48:25 -0400")

prj@po.cwru.edu (Paul Jarc) writes:

> Michael.Cook@cisco.com wrote:
> > prj@po.cwru.edu (Paul Jarc) writes:
>>> Michael.Cook@cisco.com wrote:
>>> > i wanted to inhibit gnus from inserting "Re:" at the beginning of
>>>> subject lines.  but it seems that that behavior is hard-coded into
>>>> message.el.  here's a patch to unharden that code.
>>>
>>> I'd like to see something more general.  In particular, I'd like
>>> "(was:.*" to be removed from the Subject: in responses.  Maybe a hook
>>> is in order?
>> 
>> i think you might have misunderstood.  message-subject-re is the
>> string that gnus inserts into the subject line when you start
>> composing a reply (or follow-up).
>
> I understand.  I'd like to have a more general facility for modifying
> the subject when composing a response.  This could incorporate adding
> "Re: " and removing a trailing "(was:.*".  Maybe also remove
> "Re\[[0-9]+\]:" or something.

Inspired by `message-make-forward-subject-function':

Index: message.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/message.el,v
retrieving revision 6.117
diff -u -u -w -u -w -r6.117 message.el
--- message.el	2001/08/19 02:01:24	6.117
+++ message.el	2001/08/29 19:33:23
@@ -228,6 +228,29 @@
   :group 'message-various
   :type 'regexp)
 
+(defcustom message-subject-re "Re: "
+  "*The string to insert at the beginning of subject lines when replying."
+  :group 'message-various
+  :type 'string)
+
+(defcustom message-make-re-subject-function '(message-strip-list-identifiers
+					      message-strip-subject-re
+					      message-add-subject-re)
+  "*List of functions called to massage subject lines when replying.
+The subject generated by the previous function is passed into each
+successive function.
+
+The provided functions (which both are used by default) are:
+
+* `message-strip-list-identifiers' (Removes `gnus-list-identifiers'.)
+* `message-strip-subject-re' (Removes `message-subject-re-regexp'.)
+* `message-add-subject-re' (Prepends \"Re: \".)
+"
+  :group 'message-various
+  :type '(radio (function-item message-strip-subject-re)
+		(function-item message-strip-list-identifiers)
+		(repeat :tag "List of functions" function)))
+
 ;;;###autoload
 (defcustom message-signature-separator "^-- *$"
   "Regexp matching the signature separator."
@@ -1291,6 +1314,25 @@
       (substring subject (match-end 0))
     subject))
 
+(defun message-add-subject-re (subject)
+  "Prepend \"Re:\" to SUBJECT."
+  (concat message-subject-re subject))
+
+(defun message-make-re-subject (subject)
+  "Return a Subject header suitable for replying in the current buffer."
+  (let ((funcs message-make-re-subject-function))
+    ;; Make sure funcs is a list.
+    (and funcs
+	 (not (listp funcs))
+	 (setq funcs (list funcs)))
+    ;; Apply funcs in order, passing subject generated by previous
+    ;; func to the next one.
+    (while funcs
+      (when (message-functionp (car funcs))
+	(setq subject (funcall (car funcs) subject)))
+      (setq funcs (cdr funcs)))
+    subject))
+
 (defun message-remove-header (header &optional is-regexp first reverse)
   "Remove HEADER in the narrowed buffer.
 If IS-REGEXP, HEADER is a regular expression.
@@ -4179,10 +4221,7 @@
 	    date (message-fetch-field "date")
 	    from (message-fetch-field "from")
 	    subject (or (message-fetch-field "subject") "none"))
-      (when gnus-list-identifiers
-	(setq subject (message-strip-list-identifiers subject)))
-      (setq subject (concat "Re: " (message-strip-subject-re subject)))
-
+      (setq subject (message-make-re-subject subject))
       (when (and (setq gnus-warning (message-fetch-field "gnus-warning"))
 		 (string-match "<[^>]+>" gnus-warning))
 	(setq message-id (match-string 0 gnus-warning)))
@@ -4255,9 +4294,7 @@
 		 (let ((case-fold-search t))
 		   (string-match "world" distribution)))
 	(setq distribution nil))
-      (if gnus-list-identifiers
-	  (setq subject (message-strip-list-identifiers subject)))
-      (setq subject (concat "Re: " (message-strip-subject-re subject)))
+      (setq subject (message-make-re-subject subject))
       (widen))
 
     (message-pop-to-buffer (message-buffer-name "followup" from newsgroups))



  reply	other threads:[~2001-08-29 19:33 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-29 18:25 message-subject-re Michael.Cook
2001-08-29 18:29 ` message-subject-re Paul Jarc
2001-08-29 18:34   ` message-subject-re Michael.Cook
2001-08-29 18:48     ` message-subject-re Paul Jarc
2001-08-29 19:33       ` Simon Josefsson [this message]
2001-08-29 19:40         ` message-subject-re Henrik Enberg
2001-08-29 19:46           ` message-subject-re Paul Jarc
2001-08-29 20:08             ` message-subject-re Michael.Cook
2001-08-29 19:51           ` message-subject-re Frank Schmitt
2001-08-29 20:11             ` message-subject-re Michael.Cook
2001-08-29 23:52               ` message-subject-re Daniel Pittman
2001-08-30  1:50                 ` message-subject-re Michael.Cook
2001-08-30  2:31                   ` message-subject-re Daniel Pittman
2001-08-30  4:44                   ` message-subject-re Paul Jarc
2001-08-30 16:32                     ` message-subject-re Michael.Cook
2001-08-30 16:39                       ` message-subject-re Jesper Harder
2001-08-30 13:38             ` message-subject-re Per Abrahamsen
2001-08-29 19:43         ` message-subject-re Paul Jarc
2001-08-29 19:51         ` message-subject-re Simon Josefsson
2001-08-30 14:17           ` message-subject-re Per Abrahamsen
2001-08-31 23:26             ` message-subject-re Simon Josefsson
2001-09-01 14:34               ` message-subject-re Per Abrahamsen
2001-08-30  2:16   ` message-subject-re Steve Youngs
2001-09-05 15:02   ` message-change-subject-interactively (was: message-subject-re) Toby Speight
2001-09-05 15:12   ` message-subject-re Colin Marquardt
2001-09-05 16:10     ` message-subject-re Michael.Cook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ilu4rqqr79c.fsf@barbar.josefsson.org \
    --to=jas@extundo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).