To make sure RFC2919 is not violated.
"<" and ">" will be added if no list description exists.
The maxlinelen=998 is a precaution to keep the may line length of RFC2822.
20040412 Bernhard Reiter <bernhard@gnu.org>
--- mailman-2.1.4-1/Mailman/Handlers/CookHeaders.py	2003-12-18 15:58:22.000000000 +0100
+++ mailman-2.1.4/Mailman/Handlers/CookHeaders.py	2004-04-12 18:35:59.000000000 +0200
@@ -168,11 +168,12 @@
     if mlist.description:
         # Don't wrap the header since here we just want to get it properly RFC
         # 2047 encoded.
-        h = uheader(mlist, mlist.description, 'List-Id', maxlinelen=10000)
+        h = uheader(mlist, mlist.description, 'List-Id', maxlinelen=998)
         desc = str(h)
+    	listid_h = formataddr((desc, listid))
     else:
-        desc = ''
-    listid_h = formataddr((desc, listid))
+    	# without desc we need to ensure the MUST brackets
+    	listid_h = '<%s>' % listid
     # BAW: I think the message object should handle any necessary wrapping.
     del msg['list-id']
     msg['List-Id'] = listid_h
