* gnus-sum.el (gnus-summary-dummy-line-format): Update format to
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 28 Dec 2002 23:54:46 +0000 (23:54 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 28 Dec 2002 23:54:46 +0000 (23:54 +0000)
fit with newer standard format.
(gnus-summary-make-false-root-always): New variable.
(gnus-gather-threads-by-subject): Use it.

* message.el (message-get-reply-headers): Take an address list
optional argument.

lisp/.cvsignore
lisp/ChangeLog
lisp/deuglify.el
lisp/gnus-sum.el
lisp/message.el

index 22fc52c..2380bbe 100644 (file)
@@ -2,3 +2,4 @@ Makefile
 version
 *.elc
 gnus-load.el
+old
index 3f60f6c..02cb07b 100644 (file)
@@ -1,3 +1,13 @@
+2002-12-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-dummy-line-format): Update format to
+       fit with newer standard format.
+       (gnus-summary-make-false-root-always): New variable.
+       (gnus-gather-threads-by-subject): Use it.
+
+       * message.el (message-get-reply-headers): Take an address list
+       optional argument.
+
 2002-12-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.el (gnus-keep-backlog): Change default to 20.
index e3a9bf3..643a4f3 100644 (file)
 ;;; User Customizable Variables:
 
 (defgroup gnus-outlook-deuglify nil
-  "Deuglify articles generated by broken user agents like MS 
-Outlook (Express).")
+  "Deuglify articles generated by broken user agents like MS Outlook (Express).")
 
 ;;;###autoload
 (defcustom gnus-outlook-deuglify-unwrap-min 45
@@ -251,21 +250,18 @@ Outlook (Express).")
   :group 'gnus-outlook-deuglify)
 
 (defcustom gnus-outlook-deuglify-unwrap-stop-chars nil ;; ".?!" or nil
-  "Characters that inhibit unwrapping if they are the last one on the
-cited line above the possible wrapped line."
+  "Characters that inhibit unwrapping if they are the last one on the cited line above the possible wrapped line."
   :type 'string
   :group 'gnus-outlook-deuglify)
 
 (defcustom gnus-outlook-deuglify-no-wrap-chars "`"
-  "Characters that inhibit unwrapping if they are the first one in the
-possibly wrapped line."
+  "Characters that inhibit unwrapping if they are the first one in the possibly wrapped line."
   :type 'string
   :group 'gnus-outlook-deuglify)
 
 (defcustom  gnus-outlook-deuglify-attrib-cut-regexp
   "\\(On \\|Am \\)?\\(Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\|Sun\\),[^,]+, "
-  "Regular expression matching the beginning of an attribution line
-that should be cut off."
+  "Regular expression matching the beginning of an attribution line that should be cut off."
   :type 'string
   :group 'gnus-outlook-deuglify)
 
@@ -287,8 +283,8 @@ that should be cut off."
 ;; TODO: don't kill MIME parts
 ;;;###autoload
 (defun gnus-outlook-unwrap-lines ()
-  "Unwrap lines that appear to be wrapped citation lines.  You can
-control what lines will be unwrapped by frobbing
+  "Unwrap lines that appear to be wrapped citation lines.
+You can control what lines will be unwrapped by frobbing
 `gnus-outlook-deuglify-unwrap-min' and
 `gnus-outlook-deuglify-unwrap-max', indicating the miminum and maximum
 length of an unwrapped citation line."
@@ -317,8 +313,7 @@ length of an unwrapped citation line."
 
 ;; TODO: respect signatures, don't kill MIME parts
 (defun gnus-outlook-rearrange-article (from-where)
-  "Put the text from `from-where' to the end of buffer at the top of
-the article buffer."
+  "Put the text from `from-where' to the end of buffer at the top of the article buffer."
   (save-excursion
     (let ((inhibit-read-only t)
          (cite-marks gnus-outlook-deuglify-cite-marks))
index 4d32acb..6a75d96 100644 (file)
@@ -109,6 +109,11 @@ given by the `gnus-summary-same-subject' variable.)"
                 (const adopt)
                 (const empty)))
 
+(defcustom gnus-summary-make-false-root-always t
+  "Always make a false dummy root."
+  :group 'gnus-thread
+  :type 'boolean)
+
 (defcustom gnus-summary-gather-exclude-subject "^ *$\\|^(none)$"
   "*A regexp to match subjects to be excluded from loose thread gathering.
 As loose thread gathering is done on subjects only, that means that
@@ -583,7 +588,7 @@ list of parameters to that command."
   :type 'boolean)
 
 (defcustom gnus-summary-dummy-line-format
-  "  %(:                          :%) %S\n"
+  "   %(:                             :%) %S\n"
   "*The format specification for the dummy roots in the summary buffer.
 It works along the same lines as a normal formatting string,
 with some simple extensions.
@@ -3586,7 +3591,16 @@ If NO-DISPLAY, don't generate a summary buffer."
                (setcdr prev (cdr threads))
                (setq threads prev))
            ;; Enter this thread into the hash table.
-           (gnus-sethash subject threads hashtb)))
+           (gnus-sethash subject
+                         (if gnus-summary-make-false-root-always
+                             (progn
+                               ;; If you want a dummy root above all
+                               ;; threads...
+                               (setcar threads (list whole-subject
+                                                     (car threads)))
+                               threads)
+                           threads)
+                         hashtb)))
        (setq prev threads)
        (setq threads (cdr threads)))
       result)))
index eee3131..df75a69 100644 (file)
@@ -5020,7 +5020,7 @@ OTHER-HEADERS is an alist of header/value pairs."
     (message-setup `((Newsgroups . ,(or newsgroups ""))
                     (Subject . ,(or subject ""))))))
 
-(defun message-get-reply-headers (wide &optional to-address)
+(defun message-get-reply-headers (wide &optional to-address address-headers)
   (let (follow-to mct never-mct to cc author mft recipients)
     ;; Find all relevant headers we need.
     (setq to (message-fetch-field "to")
@@ -5048,6 +5048,11 @@ OTHER-HEADERS is an alist of header/value pairs."
       (cond
        ((not wide)
        (setq recipients (concat ", " author)))
+       (address-headers
+       (dolist (header address-headers)
+         (let ((value (message-fetch-field header)))
+           (when value
+             (setq recipients (concat recipients ", " value))))))
        ((and mft
             (string-match "[^ \t,]" mft)
             (or (not (eq message-use-mail-followup-to 'ask))