-(defun gnus-xmas-group-remove-excess-properties ()
- (let ((end (point))
- (beg (progn (forward-line -1) (point))))
- (remove-text-properties (1+ beg) end '(gnus-group nil))
- (remove-text-properties
- beg end
- '(gnus-topic nil gnus-topic-level nil gnus-topic-visible nil))
- (goto-char end)
- (map-extents
- (lambda (e ma)
- (set-extent-property e 'start-closed t))
- (current-buffer) beg end)))
-
-(defun gnus-xmas-topic-remove-excess-properties ()
- (let ((end (point))
- (beg (progn (forward-line -1) (point))))
- (remove-text-properties beg end '(gnus-group nil gnus-unread nil))
- (remove-text-properties (1+ beg) end '(gnus-topic nil))
- (goto-char end)))
-
-(defun gnus-xmas-seconds-since-epoch (date)
- "Return a floating point number that says how many seconds have lapsed between Jan 1 12:00:00 1970 and DATE."
- (let* ((tdate (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-date date)))
- (ttime (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-time
- (aref (timezone-parse-date date) 3))))
- (edate (mapcar (lambda (ti) (and ti (string-to-int ti)))
- (timezone-parse-date "Jan 1 12:00:00 1970")))
- (tday (- (timezone-absolute-from-gregorian
- (nth 1 tdate) (nth 2 tdate) (nth 0 tdate))
- (timezone-absolute-from-gregorian
- (nth 1 edate) (nth 2 edate) (nth 0 edate)))))
- (+ (nth 2 ttime)
- (* (nth 1 ttime) 60)
- (* (float (nth 0 ttime)) 60 60)
- (* (float tday) 60 60 24))))
-