From 7ef5b8b271f05ff987e0a2ed498ba25cfa586739 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 8 Jul 2009 02:48:11 +0000 Subject: [PATCH] (calendar-current-date): Rework previous change. --- lisp/ChangeLog | 4 ++++ lisp/calendar/calendar.el | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 354580577c5..14c922845cb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2009-07-08 Glenn Morris + + * calendar/calendar.el (calendar-current-date): Rework previous change. + 2009-07-08 Ed Reingold * calendar/calendar.el (calendar-current-date): diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 4ec820dd20b..d601cf6a22c 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1786,12 +1786,13 @@ the STRINGS are just concatenated and the result truncated." (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\". -- 2.39.2