+2002-07-23 KAMO Tomoyuki <kamo@i-manage.co.jp>
+
+ * wl-folder.el (wl-folder-open-all): Call wl-highlight-folder-path.
+ (wl-folder-close-all): Ditto.
+
+2002-07-09 KAMO Tomoyuki <kamo@i-manage.co.jp>
+
+ * wl-summary.el (wl-summary-get-list-info): Process delivered-to:
+ and mailing-list:.
+ (wl-summary-overview-entity-compare-by-list-info): Treat empty field
+ value.
+ (wl-summary-line-list-info): Print mailing-list name even when
+ list-number is empty.
+
2002-07-18 Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>
* wl-draft.el (wl-draft-edit-string): Don't set buffer-read-only.
(when (> len elmo-display-progress-threshold)
(elmo-display-progress
'wl-folder-open-all "Opening all folders..." 100))))
+ (wl-highlight-folder-path wl-folder-buffer-cur-path)
(message "Opening all folders...done")
(set-buffer-modified-p nil)))
(erase-buffer)
(wl-folder-insert-entity " " wl-folder-entity)
(wl-folder-move-path id)
+ (wl-highlight-folder-path wl-folder-buffer-cur-path)
(recenter)
(set-buffer-modified-p nil)))
(defun wl-summary-get-list-info (entity)
"Returns (\"ML-name\" . ML-count) of ENTITY."
- (let (sequence ml-name ml-count subject return-path)
+ (let (sequence ml-name ml-count subject return-path delivered-to mailing-list)
(setq sequence (elmo-msgdb-overview-entity-get-extra-field
entity "x-sequence")
ml-name (or (elmo-msgdb-overview-entity-get-extra-field
(progn
(or ml-name (setq ml-name (match-string 1 return-path)))
(or ml-count (setq ml-count (match-string 2 return-path)))))
+ (and (setq delivered-to
+ (elmo-msgdb-overview-entity-get-extra-field
+ entity "delivered-to"))
+ (string-match "^mailing list \\([^@]+\\)@" delivered-to)
+ (or ml-name (setq ml-name (match-string 1 delivered-to))))
+ (and (setq mailing-list
+ (elmo-msgdb-overview-entity-get-extra-field
+ entity "mailing-list"))
+ (string-match "\\(^\\|; \\)contact \\([^@]+\\)-[^-@]+@" mailing-list) ; *-help@, *-owner@, etc.
+ (or ml-name (setq ml-name (match-string 2 mailing-list))))
(cons (and ml-name (car (split-string ml-name " ")))
(and ml-count (string-to-int ml-count)))))
"Compare entity X and Y by mailing-list info."
(let* ((list-info-x (wl-summary-get-list-info x))
(list-info-y (wl-summary-get-list-info y)))
- (if (equal list-info-x list-info-y)
- (wl-summary-overview-entity-compare-by-date x y)
- (if (string= (car list-info-x) (car list-info-y))
+ (if (equal (car list-info-x) (car list-info-y))
+ (if (equal (cdr list-info-x) (cdr list-info-y))
+ (wl-summary-overview-entity-compare-by-date x y)
(< (or (cdr list-info-x) 0)
- (or (cdr list-info-y) 0))
- (string< (car list-info-x) (car list-info-y))))))
+ (or (cdr list-info-y) 0)))
+ (string< (or (car list-info-x) "")
+ (or (car list-info-y) "")))))
(defun wl-summary-sort-by-date ()
(interactive)
(defun wl-summary-line-list-info ()
(let ((list-info (wl-summary-get-list-info wl-message-entity)))
- (if (and (car list-info) (cdr list-info))
- (format "(%s %05d)" (car list-info) (cdr list-info))
+ (if (car list-info)
+ (format (if (cdr list-info) "(%s %05d)" "(%s)")
+ (car list-info) (cdr list-info))
"")))
(defun wl-summary-line-list-count ()