From: Paul Eggert Date: Sat, 21 Oct 2017 02:16:29 +0000 (-0700) Subject: Fix two more minor Gnus typos X-Git-Tag: emacs-26.0.91~507 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=83db9a1bba;p=emacs.git Fix two more minor Gnus typos * lisp/gnus/mail-source.el (mail-source-delete-old-incoming): The old code had two minor bugs: first, it multiplied by 1/65536 instead of by 1/86400. Second, it called current-time twice and glued part of the two results together, resulting in a race. Fix both bugs by simplifying the code and using time-to-number-of-days. --- diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index 3befd46620e..93f03be72d0 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el @@ -591,25 +591,21 @@ Return the number of files that were found." If CONFIRM is non-nil, ask for confirmation before removing a file." (interactive "P") (require 'gnus-util) - (let* ((high2days (/ 65536.0 60 60 24));; convert high bits to days - (low2days (/ 1.0 65536.0)) ;; convert low bits to days + (let* ((now (current-time)) (diff (if (natnump age) age 30));; fallback, if no valid AGE given - currday files) + files) (setq files (directory-files mail-source-directory t (concat "\\`" - (regexp-quote mail-source-incoming-file-prefix))) - currday (* (car (current-time)) high2days) - currday (+ currday (* low2days (nth 1 (current-time))))) + (regexp-quote mail-source-incoming-file-prefix)))) (while files (let* ((ffile (car files)) (bfile (replace-regexp-in-string "\\`.*/\\([^/]+\\)\\'" "\\1" ffile)) - (filetime (nth 5 (file-attributes ffile))) - (fileday (* (car filetime) high2days)) - (fileday (+ fileday (* low2days (nth 1 filetime))))) + (filetime (nth 5 (file-attributes ffile)))) (setq files (cdr files)) - (when (and (> (- currday fileday) diff) + (when (and (> (time-to-number-of-days (time-subtract now filetime)) + diff) (if confirm (y-or-n-p (format-message "\