changeset 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 87cf23904293
files lisp/ChangeLog lisp/calendar/calendar.el
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Wed Jul 08 02:46:23 2009 +0000
+++ b/lisp/ChangeLog	Wed Jul 08 02:48:11 2009 +0000
@@ -1,3 +1,7 @@
+2009-07-08  Glenn Morris  <rgm@gnu.org>
+
+	* calendar/calendar.el (calendar-current-date): Rework previous change.
+
 2009-07-08  Ed Reingold  <reingold@emr.cs.iit.edu>
 
 	* calendar/calendar.el (calendar-current-date):
--- 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\".