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\".