2004-05-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * imap.el (imap-authenticators): Comment out sasl.
+
        * message.el (message-skip-to-next-address): New function.
        (message-fill-header-address): Refactor.
        (message-fill-address): Use it.
        (message-fill-header-general): Refactor.
        (message-fill-field-address): Rename.
        (message-narrow-to-field): Find the start of the header. 
+       (message-header-format-alist): Don't pre-fill.
+       (message-fill-header): Removed.
+       (message-insert-header): New function.
+       (message-shorten-references): Use it.
 
        * rfc2047.el (rfc2047-field-value): Strip props.
 
 
   "A regexp that matches the separator before the text of a failed message.")
 
 (defvar message-field-fillers
-  '((To message-fill-address)
-    (Cc message-fill-address)
-    (From message-fill-address))
+  '((To message-fill-field-address)
+    (Cc message-fill-field-address)
+    (From message-fill-field-address))
   "Alist of header names/filler functions.")
 
 (defvar message-header-format-alist
   `((Newsgroups)
-    (To . message-fill-address)
-    (Cc . message-fill-address)
+    (To)
+    (Cc)
     (Subject)
     (In-Reply-To)
     (Fcc)
                      (if formatter
                          (funcall formatter header value)
                        (insert header-string ": " value))
+                     (message-fill-field)
                      ;; We check whether the value was ended by a
                      ;; newline.  If now, we insert one.
                      (unless (bolp)
                (unless optionalp
                  (push header-string message-inserted-headers)
                  (insert value)
-                 (when (bolp)
-                   (delete-char -1))))
+                 (message-fill-field)))
              ;; Add the deletable property to the headers that require it.
              (and (memq header message-deletable-headers)
                   (progn (beginning-of-line) (looking-at "[^:]+: "))
     (error
      (split-line))))
 
-(defun message-fill-header (header value)
+(defun message-insert-header (header value)
   (insert (capitalize (symbol-name header))
          ": "
-         (if (consp value) (car value) value)
-         "\n")
-  (message-fill-field))
+         (if (consp value) (car value) value)))
 
 (defun message-field-name ()
   (save-excursion
     (when message-this-is-news
       (while (< 998
                (with-temp-buffer
-                 (message-fill-header header (mapconcat #'identity refs " "))
+                 (message-insert-header
+                  header (mapconcat #'identity refs " "))
                  (buffer-size)))
        (message-shorten-1 refs cut 1)))
     ;; Finally, collect the references back into a string and insert
     ;; it into the buffer.
-    (message-fill-header header (mapconcat #'identity refs " "))))
+    (message-insert-header header (mapconcat #'identity refs " "))))
 
 (defun message-position-point ()
   "Move point to where the user probably wants to find it."