Gnus development mailing list
 help / color / mirror / Atom feed
From: prj@po.cwru.edu (Paul Jarc)
Subject: Re: Mail-{Followup,Reply}-To
Date: 27 Oct 2000 11:30:40 -0400	[thread overview]
Message-ID: <m3vgue1etl.fsf@multivac.student.cwru.edu> (raw)
In-Reply-To: Kai.Grossjohann@CS.Uni-Dortmund.DE's message of "24 Oct 2000 11:52:06 +0200"

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

Ok, this patch (against 5.8.7) makes Gnus obey MFT and MRT when
constructing replies.  MRT takes precedence over Reply-To/From; MFT
takes precedence over Mail-Copies-To/To+Cc.  (It's unlikely that MFT
and MCT would both be set, and it simplified the code to let one take
precedence.  MFT was designed for mail, MCT for news, so I went with
MFT.)


paul

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: message.el.patch --]
[-- Type: text/x-patch, Size: 6859 bytes --]

*** gnus/message.el	Sat Jul  1 07:10:27 2000
--- message.el	Wed Nov 15 23:07:39 2000
***************
*** 1621,1627 ****
  	     (mail-fetch-field "to")
  	     (not (string-match "\\` *\\'" (mail-fetch-field "to"))))
      (insert ", "))
!   (insert (or (message-fetch-reply-field "reply-to")
  	      (message-fetch-reply-field "from") "")))
  
  (defun message-widen-reply ()
--- 1621,1628 ----
  	     (mail-fetch-field "to")
  	     (not (string-match "\\` *\\'" (mail-fetch-field "to"))))
      (insert ", "))
!   (insert (or (message-fetch-reply-field "mail-reply-to")
! 	      (message-fetch-reply-field "reply-to")
  	      (message-fetch-reply-field "from") "")))
  
  (defun message-widen-reply ()
***************
*** 3630,3642 ****
  		     (Subject . ,(or subject ""))))))
  
  (defun message-get-reply-headers (wide &optional to-address)
!   (let (follow-to mct never-mct from to cc reply-to ccalist)
      ;; Find all relevant headers we need.
      (setq from (message-fetch-field "from")
  	  to (message-fetch-field "to")
  	  cc (message-fetch-field "cc")
  	  mct (message-fetch-field "mail-copies-to")
! 	  reply-to (message-fetch-field "reply-to"))
  
      ;; Handle special values of Mail-Copies-To.
      (when mct
--- 3631,3645 ----
  		     (Subject . ,(or subject ""))))))
  
  (defun message-get-reply-headers (wide &optional to-address)
!   (let (follow-to mct never-mct from to cc reply-to mrt mft ccalist)
      ;; Find all relevant headers we need.
      (setq from (message-fetch-field "from")
  	  to (message-fetch-field "to")
  	  cc (message-fetch-field "cc")
  	  mct (message-fetch-field "mail-copies-to")
! 	  reply-to (message-fetch-field "reply-to")
! 	  mrt (message-fetch-field "mail-reply-to")
! 	  mft (message-fetch-field "mail-followup-to"))
  
      ;; Handle special values of Mail-Copies-To.
      (when mct
***************
*** 3646,3667 ****
  	     (setq mct nil))
  	    ((or (equal (downcase mct) "always")
  		 (equal (downcase mct) "poster"))
! 	     (setq mct (or reply-to from)))))
  
      (if (or (not wide)
  	    to-address)
  	(progn
! 	  (setq follow-to (list (cons 'To (or to-address reply-to from))))
! 	  (when (and wide mct)
! 	    (push (cons 'Cc mct) follow-to)))
        (let (ccalist)
  	(save-excursion
  	  (message-set-work-buffer)
! 	  (unless never-mct
! 	    (insert (or reply-to from "")))
! 	  (insert (if to (concat (if (bolp) "" ", ") to "") ""))
! 	  (insert (if mct (concat (if (bolp) "" ", ") mct) ""))
! 	  (insert (if cc (concat (if (bolp) "" ", ") cc) ""))
  	  (goto-char (point-min))
  	  (while (re-search-forward "[ \t]+" nil t)
  	    (replace-match " " t t))
--- 3649,3690 ----
  	     (setq mct nil))
  	    ((or (equal (downcase mct) "always")
  		 (equal (downcase mct) "poster"))
! 	     (setq mct (or mrt reply-to from)))))
  
      (if (or (not wide)
  	    to-address)
  	(progn
! 	  (setq follow-to (list (cons 'To (or to-address mrt reply-to from))))
! 	  (when (and wide (or mft mct))
! 	    (push (cons 'Cc (or mft mct)) follow-to)))
        (let (ccalist)
  	(save-excursion
  	  (message-set-work-buffer)
!           (if (and mft
!                    message-use-followup-to
!                    (or (not (eq message-use-followup-to 'ask))
!                        (message-y-or-n-p
! 		        (concat "Obey Mail-Followup-To: " mft "? ") t "\
! You should normally obey the Mail-Followup-To: header.
! 
! 	`Mail-Followup-To: " mft "'
! directs your response to " (if (string-match "," mft)
! 			       "the specified addresses"
! 			     "that address only") ".
! 
! If a message is posted to several mailing lists, Mail-Followup-To is
! often used to direct the following discussion to one list only,
! because discussions that are spread over several lists tend to be
! fragmented and very difficult to follow.
! 
! Also, some source/announcement lists are not indented for discussion;
! responses here are directed to other addresses.")))
!               (insert mft)
! 	    (unless never-mct
! 	      (insert (or mrt reply-to from "")))
! 	    (insert (if to (concat (if (bolp) "" ", ") to "") ""))
! 	    (insert (if mct (concat (if (bolp) "" ", ") mct) ""))
! 	    (insert (if cc (concat (if (bolp) "" ", ") cc) "")))
  	  (goto-char (point-min))
  	  (while (re-search-forward "[ \t]+" nil t)
  	    (replace-match " " t t))
***************
*** 3672,3678 ****
  	  (goto-char (point-min))
  	  ;; Perhaps "Mail-Copies-To: never" removed the only address?
  	  (when (eobp)
! 	    (insert (or reply-to from "")))
  	  (setq ccalist
  		(mapcar
  		 (lambda (addr)
--- 3695,3701 ----
  	  (goto-char (point-min))
  	  ;; Perhaps "Mail-Copies-To: never" removed the only address?
  	  (when (eobp)
! 	    (insert (or mrt reply-to from "")))
  	  (setq ccalist
  		(mapcar
  		 (lambda (addr)
***************
*** 3760,3766 ****
    (interactive)
    (require 'gnus-sum)			; for gnus-list-identifiers
    (let ((cur (current-buffer))
! 	from subject date reply-to mct
  	references message-id follow-to
  	(inhibit-point-motion-hooks t)
  	(message-this-is-news t)
--- 3783,3789 ----
    (interactive)
    (require 'gnus-sum)			; for gnus-list-identifiers
    (let ((cur (current-buffer))
! 	from subject date reply-to mrt mct
  	references message-id follow-to
  	(inhibit-point-motion-hooks t)
  	(message-this-is-news t)
***************
*** 3783,3788 ****
--- 3806,3812 ----
  	    newsgroups (message-fetch-field "newsgroups")
  	    posted-to (message-fetch-field "posted-to")
  	    reply-to (message-fetch-field "reply-to")
+ 	    mrt (message-fetch-field "mail-reply-to")
  	    distribution (message-fetch-field "distribution")
  	    mct (message-fetch-field "mail-copies-to"))
        (when (and (setq gnus-warning (message-fetch-field "gnus-warning"))
***************
*** 3820,3826 ****
  does not read the newsgroup, so he wouldn't see any replies sent to it."))
  		  (progn
  		    (setq message-this-is-news nil)
! 		    (cons 'To (or reply-to from "")))
  		(cons 'Newsgroups newsgroups)))
  	     (t
  	      (if (or (equal followup-to newsgroups)
--- 3844,3850 ----
  does not read the newsgroup, so he wouldn't see any replies sent to it."))
  		  (progn
  		    (setq message-this-is-news nil)
! 		    (cons 'To (or mrt reply-to from "")))
  		(cons 'Newsgroups newsgroups)))
  	     (t
  	      (if (or (equal followup-to newsgroups)
***************
*** 3856,3862 ****
  			     (equal (downcase mct) "nobody"))))
  	   (list (cons 'Cc (if (or (equal (downcase mct) "always")
  				   (equal (downcase mct) "poster"))
! 			       (or reply-to from "")
  			     mct)))))
  
       cur)
--- 3880,3886 ----
  			     (equal (downcase mct) "nobody"))))
  	   (list (cons 'Cc (if (or (equal (downcase mct) "always")
  				   (equal (downcase mct) "poster"))
! 			       (or mrt reply-to from "")
  			     mct)))))
  
       cur)

  parent reply	other threads:[~2000-10-27 15:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-23 20:54 Mail-{Followup,Reply}-To Paul Jarc
2000-10-24  9:52 ` Mail-{Followup,Reply}-To Kai Großjohann
2000-10-24 12:45   ` Mail-{Followup,Reply}-To Per Abrahamsen
2000-10-24 13:52     ` Mail-{Followup,Reply}-To Paul Jarc
2000-10-24 17:42       ` Mail-{Followup,Reply}-To Per Abrahamsen
2000-10-24 22:48     ` Mail-{Followup,Reply}-To Paul Jarc
2000-10-25  9:16       ` Mail-{Followup,Reply}-To Kai Großjohann
2000-10-25 12:27       ` Mail-{Followup,Reply}-To Per Abrahamsen
2000-10-27 15:30   ` Paul Jarc [this message]
2000-10-27 16:00     ` Mail-{Followup,Reply}-To Paul Jarc
2000-10-28 10:06       ` Mail-{Followup,Reply}-To Per Abrahamsen
2000-11-03 15:42       ` Mail-{Followup,Reply}-To Toby Speight
2000-11-03 17:12         ` Mail-{Followup,Reply}-To Paul Jarc

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=m3vgue1etl.fsf@multivac.student.cwru.edu \
    --to=prj@po.cwru.edu \
    /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).