# HG changeset patch # User Glenn Morris # Date 1147330652 0 # Node ID 1eaae4fee2243a45e93fa7d28762677ba534c04e # Parent 80f0136fc4af8d6249d0dfff35e82971b1091db0 (calendar-basic-setup): Set day to 1 in prefix arg case, to avoid view-diary-entries-initially error. Reported by Stephen Berman . (calendar-date-is-legal-p): Handle dates with no day part. diff -r 80f0136fc4af -r 1eaae4fee224 lisp/calendar/calendar.el --- 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.