+ (lsdb-maybe-load-hash-tables)
+ (let* ((sender (lsdb-extract-address-components
+ (mail-header-from gnus-current-headers)))
+ (date (mail-header-date gnus-current-headers))
+ (current-date (format-time-string "%Y%m%d%H:%M:%S"))
+ (record (lsdb-gethash (car sender) lsdb-hash-table))
+ (last-date (or (cdr (assq 'last-date record))
+ current-date))
+ article-date)
+ (if (or (null record)
+ (null date) ;Without Date: header?
+ (and (string-lessp (setq article-date
+ (timezone-make-date-sortable date))
+ current-date)
+ (string-lessp last-date article-date)))
+ (setq record (car (lsdb-update-records
+ (or article-date current-date)))))
+ (lsdb-display-record (if (stringp (car record)) ;Record is up to date.
+ record
+ (cons (car sender) record))))))