Mercurial > emacs
diff lisp/calendar/calendar.el @ 103771:06bd6035d548
(calendar-current-date): Rework previous change.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 08 Jul 2009 02:48:11 +0000 |
parents | 564ef05eedbc |
children | ab0d63f460aa |
line wrap: on
line diff
--- a/lisp/calendar/calendar.el Wed Jul 08 02:46:23 2009 +0000 +++ b/lisp/calendar/calendar.el Wed Jul 08 02:48:11 2009 +0000 @@ -1786,12 +1786,13 @@ (defun calendar-current-date (&optional offset) "Return the current date in a list (month day year). -Optional OFFSET is number of days from current date." - (let ((now (decode-time))) - (calendar-gregorian-from-absolute - (+ (calendar-absolute-from-gregorian - (list (nth 4 now) (nth 3 now) (nth 5 now))) - (if offset offset 0))))) +Optional integer OFFSET is a number of days from the current date." + (let* ((now (decode-time)) + (now (list (nth 4 now) (nth 3 now) (nth 5 now)))) + (if (zerop (or offset 0)) + now + (calendar-gregorian-from-absolute + (+ offset (calendar-absolute-from-gregorian now)))))) (defun calendar-column-to-segment () "Convert current column to calendar month \"segment\".