Gnus development mailing list
 help / color / mirror / Atom feed
* Mail-{Followup,Reply}-To
@ 2000-10-23 20:54 Paul Jarc
  2000-10-24  9:52 ` Mail-{Followup,Reply}-To Kai Großjohann
  0 siblings, 1 reply; 13+ messages in thread
From: Paul Jarc @ 2000-10-23 20:54 UTC (permalink / raw)


<URL:http://cr.yp.to/proto/replyto.html>
Are there variables I can set so that Mail-Followup-To, if present,
overrides From+To+Cc-self for followups?  And so that Mail-Reply-To
overrides Reply-To/From for replies?  Or does this require code
changes?


paul



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-23 20:54 Mail-{Followup,Reply}-To Paul Jarc
@ 2000-10-24  9:52 ` Kai Großjohann
  2000-10-24 12:45   ` Mail-{Followup,Reply}-To Per Abrahamsen
  2000-10-27 15:30   ` Mail-{Followup,Reply}-To Paul Jarc
  0 siblings, 2 replies; 13+ messages in thread
From: Kai Großjohann @ 2000-10-24  9:52 UTC (permalink / raw)
  Cc: ding

On 23 Oct 2000, Paul Jarc wrote:

> <URL:http://cr.yp.to/proto/replyto.html>
> Are there variables I can set so that Mail-Followup-To, if present,
> overrides From+To+Cc-self for followups?  And so that Mail-Reply-To
> overrides Reply-To/From for replies?  Or does this require code
> changes?

AFAICS, the code does not know about Mail-Followup-To.  The only
header it knows about is Mail-Copies-To.  I think you need to patch
message.el. 

kai
-- 
I like BOTH kinds of music.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-24  9:52 ` Mail-{Followup,Reply}-To Kai Großjohann
@ 2000-10-24 12:45   ` Per Abrahamsen
  2000-10-24 13:52     ` Mail-{Followup,Reply}-To Paul Jarc
  2000-10-24 22:48     ` Mail-{Followup,Reply}-To Paul Jarc
  2000-10-27 15:30   ` Mail-{Followup,Reply}-To Paul Jarc
  1 sibling, 2 replies; 13+ messages in thread
From: Per Abrahamsen @ 2000-10-24 12:45 UTC (permalink / raw)


Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:

> AFAICS, the code does not know about Mail-Followup-To.

Should it?  

I don't think it would be hard to teach message.el to obey the two
headers.  It could also generate the two headers based on group
parameters.  If "broken-reply-to" is set, generate "mail-reply-to".
If "to-list" or "to-address" is set, generate "mail-followup-to".  The
last should probably be controlled by a separate flag though.

Have we started on an "experiental" Gnus branch yet?



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-24 12:45   ` Mail-{Followup,Reply}-To Per Abrahamsen
@ 2000-10-24 13:52     ` Paul Jarc
  2000-10-24 17:42       ` Mail-{Followup,Reply}-To Per Abrahamsen
  2000-10-24 22:48     ` Mail-{Followup,Reply}-To Paul Jarc
  1 sibling, 1 reply; 13+ messages in thread
From: Paul Jarc @ 2000-10-24 13:52 UTC (permalink / raw)


Per Abrahamsen <abraham@dina.kvl.dk> writes:
> Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Großjohann) writes:
> > AFAICS, the code does not know about Mail-Followup-To.
> 
> Should it?  

Yes.  If I set Mail-Followup-To, it means I want people to obey it.
E.g., if you followup to this message, I don't want a separate copy.
(If you send one anyway, it'll bounce, with message directing to a web
page about Mail-Followup-To.)

> I don't think it would be hard to teach message.el to obey the two
> headers.

I'll try to give it a go.

> It could also generate the two headers based on group parameters.
> If "broken-reply-to" is set, generate "mail-reply-to".

Mail-Reply-To instead of Reply-To, you mean?

> If "to-list" or "to-address" is set, generate "mail-followup-to".
> The last should probably be controlled by a separate flag though.

Definitely a separate flag.  You don't necessarily need to set
Mail-Followup-To *from Gnus* at all.  I have:
(setq message-send-mail-function 'message-send-mail-with-qmail) so
mail messages are submitted to the qmail-inject program, which can
insert Mail-Followup-To fields when they aren't already present.


paul



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-24 13:52     ` Mail-{Followup,Reply}-To Paul Jarc
@ 2000-10-24 17:42       ` Per Abrahamsen
  0 siblings, 0 replies; 13+ messages in thread
From: Per Abrahamsen @ 2000-10-24 17:42 UTC (permalink / raw)


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

> Per Abrahamsen <abraham@dina.kvl.dk> writes:
> > It could also generate the two headers based on group parameters.
> > If "broken-reply-to" is set, generate "mail-reply-to".
> 
> Mail-Reply-To instead of Reply-To, you mean?

No, just generate it.  Gnus doesn't generate Reply-To, and the mailing
lists broken reply-to will overwrite the From header unless
Mail-Reply-To is generated (and obeyed).



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  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 22:48     ` 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
  1 sibling, 2 replies; 13+ messages in thread
From: Paul Jarc @ 2000-10-24 22:48 UTC (permalink / raw)


Per Abrahamsen <abraham@dina.kvl.dk> writes:
> I don't think it would be hard to teach message.el to obey the two
> headers.  It could also generate the two headers based on group
> parameters.  If "broken-reply-to" is set, generate "mail-reply-to".

Is broken-reply-to currently used for anything?  I wonder if this
should be handled separately.


paul



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-24 22:48     ` Mail-{Followup,Reply}-To Paul Jarc
@ 2000-10-25  9:16       ` Kai Großjohann
  2000-10-25 12:27       ` Mail-{Followup,Reply}-To Per Abrahamsen
  1 sibling, 0 replies; 13+ messages in thread
From: Kai Großjohann @ 2000-10-25  9:16 UTC (permalink / raw)
  Cc: ding

On 24 Oct 2000, Paul Jarc wrote:

> Is broken-reply-to currently used for anything?  I wonder if this
> should be handled separately.

Yes.  It's a group parameter, and when you followup to a message in a
group where this parameter is set, Gnus pretends the Reply-To header
didn't exist.

kai
-- 
I like BOTH kinds of music.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  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       ` Per Abrahamsen
  1 sibling, 0 replies; 13+ messages in thread
From: Per Abrahamsen @ 2000-10-25 12:27 UTC (permalink / raw)


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

> Per Abrahamsen <abraham@dina.kvl.dk> writes:
> > I don't think it would be hard to teach message.el to obey the two
> > headers.  It could also generate the two headers based on group
> > parameters.  If "broken-reply-to" is set, generate "mail-reply-to".
> 
> Is broken-reply-to currently used for anything?  I wonder if this
> should be handled separately.

Yes, it mean ignore the "Reply-to" field for messages in this folder.
It is intended for mailing lists who insert the list address in the
reply-to field.  Which happen to be the exact same lists where is
makes sense to create a Mail-Reply_to header.

So I don't think these should be handled separately.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  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-27 15:30   ` Paul Jarc
  2000-10-27 16:00     ` Mail-{Followup,Reply}-To Paul Jarc
  1 sibling, 1 reply; 13+ messages in thread
From: Paul Jarc @ 2000-10-27 15:30 UTC (permalink / raw)


[-- 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)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-27 15:30   ` Mail-{Followup,Reply}-To Paul Jarc
@ 2000-10-27 16:00     ` Paul Jarc
  2000-10-28 10:06       ` Mail-{Followup,Reply}-To Per Abrahamsen
  2000-11-03 15:42       ` Mail-{Followup,Reply}-To Toby Speight
  0 siblings, 2 replies; 13+ messages in thread
From: Paul Jarc @ 2000-10-27 16:00 UTC (permalink / raw)


A news followup to a message without a Followup-To goes to the same
newsgroups as the previous message.  This is usually what the poster
wants, so Followup-To is usually not set.  But for mail, without MFT,
a followup goes to the poster as well.  This is usually not what the
poster wants, so MFT will be set more often than FT.  So I think
obedience of these fields should be controlled by separate variables.
(I made MFT obedience depend on message-use-followup-to.)  To be sort
of parallel with that variable, I'm thinking something like:
message-use-mail-followup-to
  nil  always ignore MFT
  use  always use MFT
  ask  always ask
  t    use MFT if it matches To+Cc (not To+Cc+From), otherwise ask
Sound good?  I think the default should be t.


paul



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-10-27 16:00     ` Mail-{Followup,Reply}-To Paul Jarc
@ 2000-10-28 10:06       ` Per Abrahamsen
  2000-11-03 15:42       ` Mail-{Followup,Reply}-To Toby Speight
  1 sibling, 0 replies; 13+ messages in thread
From: Per Abrahamsen @ 2000-10-28 10:06 UTC (permalink / raw)


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

> To be sort of parallel with that variable, I'm thinking something like:
> message-use-mail-followup-to
>   nil  always ignore MFT
>   use  always use MFT
>   ask  always ask
>   t    use MFT if it matches To+Cc (not To+Cc+From), otherwise ask
> Sound good?  I think the default should be t.

It looks right to me.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  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       ` Toby Speight
  2000-11-03 17:12         ` Mail-{Followup,Reply}-To Paul Jarc
  1 sibling, 1 reply; 13+ messages in thread
From: Toby Speight @ 2000-11-03 15:42 UTC (permalink / raw)


0> In article <m3lmva1dgg.fsf@multivac.student.cwru.edu>,
0> Paul R. Jarc <URL:mailto:prj@po.cwru.edu> ("Paul") wrote:

Paul> message-use-mail-followup-to
Paul>   nil  always ignore MFT
Paul>   use  always use MFT
Paul>   ask  always ask
Paul>   t    use MFT if it matches To+Cc (not To+Cc+From), otherwise ask
Paul> Sound good?  I think the default should be t.

I think that t should mean "always use" - that's the intuitive meaning.
I don't know what to call the last case, though.  'if-all-but-poster,
perhaps?  Or 'usually, or 'ask-unless-trivial.  (I agree that this
makes a good default).



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Mail-{Followup,Reply}-To
  2000-11-03 15:42       ` Mail-{Followup,Reply}-To Toby Speight
@ 2000-11-03 17:12         ` Paul Jarc
  0 siblings, 0 replies; 13+ messages in thread
From: Paul Jarc @ 2000-11-03 17:12 UTC (permalink / raw)


Toby Speight <streapadair@gmx.net> writes:
> Paul> message-use-mail-followup-to
> Paul>   nil  always ignore MFT
> Paul>   use  always use MFT
> Paul>   ask  always ask
> Paul>   t    use MFT if it matches To+Cc (not To+Cc+From), otherwise ask
> Paul> Sound good?  I think the default should be t.
> 
> I think that t should mean "always use" - that's the intuitive meaning.

I was just trying to be parallel with message-use-followup-to, which
uses t (actually, any non-nil value other than the ones with other
meanings explicitly assigned to them) to mean 'conditionally ask'.  I
haven't written this code yet, but it'd probably also not explicitly
compare to t - any unrecognized value would be interpreted this way.
So the real question is: what value do we *document* as producing this
behavior?  In case more values are given meanings in the future,
perhaps with one of the new interpretations grabbing unrecognized
values, what value should we guarantee will retain this meaning?  t is
probably not a good choice for that.  I think I'll go with
ask-unless-trivial.


paul



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2000-11-03 17:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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   ` Mail-{Followup,Reply}-To Paul Jarc
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

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).