changeset 70581:1eaae4fee224

(calendar-basic-setup): Set day to 1 in prefix arg case, to avoid view-diary-entries-initially error. Reported by Stephen Berman <Stephen.Berman at gmx.net>. (calendar-date-is-legal-p): Handle dates with no day part.
author Glenn Morris <rgm@gnu.org>
date Thu, 11 May 2006 06:57:32 +0000
parents 80f0136fc4af
children f2d7dbf603c5
files lisp/calendar/calendar.el
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/calendar/calendar.el	Thu May 11 06:57:11 2006 +0000
+++ b/lisp/calendar/calendar.el	Thu May 11 06:57:32 2006 +0000
@@ -1374,6 +1374,7 @@
   "Extract the month part of DATE which has the form (month day year)."
   (car date))
 
+;; Note gives wrong answer for result of (calendar-read-date 'noday).
 (defsubst extract-calendar-day (date)
   "Extract the day part of DATE which has the form (month day year)."
   (car (cdr date)))
@@ -1639,6 +1640,9 @@
                  (calendar-current-date)))
          (month (extract-calendar-month date))
          (year (extract-calendar-year date)))
+    ;; (calendar-read-date t) returns a date with day = nil, which is
+    ;; not a legal date for the visible test in the diary section.
+    (if arg (setcar (cdr date) 1))
     (pop-to-buffer calendar-buffer)
     (increment-calendar-month month year (- calendar-offset))
     (generate-calendar-window month year)
@@ -2897,7 +2901,11 @@
         (day (extract-calendar-day date))
         (year (extract-calendar-year date)))
     (and (<= 1 month) (<= month 12)
-         (<= 1 day) (<= day (calendar-last-day-of-month month year))
+         ;; (calendar-read-date t) returns a date with day = nil.
+         ;; Should not be valid (?), since many funcs prob assume integer.
+         ;; (calendar-read-date 'noday) returns (month year), which
+         ;; currently results in extract-calendar-year returning nil.
+         day year (<= 1 day) (<= day (calendar-last-day-of-month month year))
          ;; BC dates left as non-valid, to suppress errors from
          ;; complex holiday algorithms not suitable for years BC.
          ;; Note there are side effects on calendar navigation.