Gnus development mailing list
 help / color / mirror / Atom feed
From: Ted Zlatanov <teodor.zlatanov@divine.com>
Subject: [patch] hierarchical lists in message.el
Date: Mon, 25 Feb 2002 18:04:25 -0500	[thread overview]
Message-ID: <a5eg89$2nn$1@quimby2.netfonds.no> (raw)
In-Reply-To: <m38zacimee.fsf@multivac.cwru.edu> (prj@po.cwru.edu's message of "Fri, 01 Feb 2002 22:37:39 -0500")

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

I got the patch working and tested it today.  It worked fine for me.
It does something only when message-hierarchical-lists is defined, on
replying to a message.  Thanks again to Paul and Kai.

I am attaching the patch again; it worked against this morning's CVS
Gnus.  It being the first patch I've done for Gnus, I don't know if it
should go to the list or to someone in particular.

Paul Jarc wrote:
> Ted Zlatanov wrote:
>> Also, the message-hierarchical-lists should probably be generalized to
>> regular expressions for both the primary and secondary lists
>> (message-hierarchical-lists-regexps?).  I don't need this personally,
>> but perhaps someone else will find it useful.
>
> That would complicate the code; the two uses of assoc would have to be
> replaced by explicit iteration and regexp comparison.  We could wait
> for someone to ask for it, if it really is ever useful.

You're right, no one has been clamoring for this feature as it is.

Thanks
Ted


[-- Attachment #2: message-hierarchical-patch --]
[-- Type: text/plain, Size: 1596 bytes --]

--- message-original.el	Fri Feb  1 16:07:38 2002
+++ message.el	Fri Feb  1 17:11:14 2002
@@ -1044,6 +1044,15 @@
   :type '(choice (const :tag "Always use primary" nil)
 		 regexp))
 
+(defcustom message-hierarchical-lists nil
+  "A list of hierarchical mailing list definitions.
+
+Inside each entry, the first address is the top list, everything after
+it are secondary addresses contained in the list.  The secondaries
+will be removed from the list of recipients when mail is prepared for
+delivery."
+  :group 'message-headers)
+
 (defcustom message-mail-user-agent nil
   "Like `mail-user-agent'.
 Except if it is nil, use Gnus native MUA; if it is t, use
@@ -4512,6 +4521,23 @@
       (let ((s recipients))
 	(while s
 	  (setq recipients (delq (assoc (car (pop s)) s) recipients))))
+
+      ;; remove hierarchical lists that are contained within each other,
+      ;; if message-hierarchical-lists is defined
+      (when message-hierarchical-lists
+	(let* ((plain-addrs (mapcar 'car recipients))
+	       sublists recip)
+	  (while plain-addrs
+	    (setq sublists (assoc (car plain-addrs) message-hierarchical-lists)
+		  plain-addrs (cdr plain-addrs))
+	    (when sublists
+	      (setq sublists (cdr sublists))
+	      (while sublists
+		(setq recip (assoc (car sublists) recipients)
+		      sublists (cdr sublists))
+		(if recip
+		    (setq recipients (delq recip recipients))))))))
+
       ;; Build the header alist.  Allow the user to be asked whether
       ;; or not to reply to all recipients in a wide reply.
       (setq follow-to (list (cons 'To (cdr (pop recipients)))))

      parent reply	other threads:[~2002-02-25 23:04 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-04 16:59 possible strange idea about hierarchical lists Ted Zlatanov
2001-12-04 17:31 ` Kai Großjohann
2001-12-04 17:28   ` Ted Zlatanov
2001-12-04 17:44     ` Paul Jarc
2001-12-04 17:38       ` Ted Zlatanov
2001-12-05  8:55         ` Kai Großjohann
2001-12-05 16:52           ` Matt Armstrong
2001-12-07 14:09           ` Ted Zlatanov
2001-12-29  2:02             ` Lars Magne Ingebrigtsen
2002-01-16 19:33               ` Ted Zlatanov
2002-01-16 20:12                 ` Ted Zlatanov
2002-01-18  9:18                 ` Kai Großjohann
2002-01-31 21:40                 ` Paul Jarc
2002-02-01 22:14                   ` Ted Zlatanov
2002-02-02  3:37                     ` Paul Jarc
2002-02-25 23:04                       ` [patch] hierarchical lists in message.el Ted Zlatanov
2002-02-25 23:22                         ` Paul Jarc
2002-02-25 23:22                         ` Paul Jarc
2002-02-26 11:40                           ` Ted Zlatanov
2002-02-26 11:40                           ` Ted Zlatanov
2002-03-01 21:23                         ` Paul Jarc
2002-03-01 21:23                         ` Paul Jarc
2002-03-04 17:34                           ` Ted Zlatanov
2002-03-04 18:11                             ` Paul Jarc
2002-03-04 18:11                             ` Paul Jarc
2002-03-04 17:34                           ` Ted Zlatanov
2002-02-25 23:04                       ` Ted Zlatanov [this message]

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='a5eg89$2nn$1@quimby2.netfonds.no' \
    --to=teodor.zlatanov@divine.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).