In most cases, nil is assumed to be the current time. `time-subtract' is doing that here. It could be "fixed" so diff --git i/lisp/calendar/time-date.el w/lisp/calendar/time-date.el index bbdcaa4db4..27ce10d7d6 100644 --- i/lisp/calendar/time-date.el +++ w/lisp/calendar/time-date.el @@ -200,5 +200,5 @@ time-since ;; Convert date strings to internal time. (setq time (date-to-time time))) - (time-subtract nil time)) + (time-subtract nil (or time (current-time)))) ;;;###autoload but that would make the result inconsistent: ELISP> (time-since nil) (0 0 0 0) ELISP> (time-since nil) (0 0 1 0) I'm not sure that's better. And you can always do (time-since (or time (current-time)))