[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v |
Date: |
Mon, 31 Mar 2008 07:08:39 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 08/03/31 07:08:39
Index: cal-hebrew.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/calendar/cal-hebrew.el,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- cal-hebrew.el 29 Mar 2008 23:23:20 -0000 1.50
+++ cal-hebrew.el 31 Mar 2008 07:08:38 -0000 1.51
@@ -278,12 +278,37 @@
nil if it is not visible in the current calendar window."
;; This test is only to speed things up a bit; it works fine without it.
(if (memq displayed-month
+ ;; What this is doing is equivalent to +1,2,3,4,5 modulo 12, ie:
+ ;; (mapcar (lambda (n) (let ((x (mod n 12)))
+ ;; (if (zerop x) 12
+ ;; x)))
+ ;; (number-sequence (1+ month) (+ 5 month)))
+ ;; Ie it makes a list:
+ ;; 2 3 4 5 6 when month = 1
+ ;; 3 4 5 6 7 when month = 2
+ ;; ...
+ ;; 8 9 10 11 12 when month = 7
+ ;; 9 10 11 12 1 when month = 8
+ ;; ...
+ ;; 12 1 2 3 4 when month = 11
+ ;; 1 2 3 4 5 when month = 12
+ ;; This implies that hebrew month N cannot occur outside
+ ;; Gregorian months N:N+6 (the calendar shows
+ ;; displayed-month +/- 1 at any time).
+ ;; So to put it another way:
+ ;; (calendar-interval month 1 displayed-month
+ ;; (if (> month displayed-month) 2 1))
+ ;; must be >= 1 and <= 5. This could be expanded to:
+ ;; (if (> month displayed-month) (+ 12 (- displayed-month month))
+ ;; (- displayed-month month)
(list
(if (< 11 month) (- month 11) (+ month 1))
(if (< 10 month) (- month 10) (+ month 2))
(if (< 9 month) (- month 9) (+ month 3))
(if (< 8 month) (- month 8) (+ month 4))
(if (< 7 month) (- month 7) (+ month 5))))
+ ;; This is the same as holiday-julian, except the test of which
+ ;; year to use is different.
(let* ((m1 displayed-month)
(y1 displayed-year)
(m2 displayed-month)
@@ -299,6 +324,8 @@
(hebrew-end (calendar-hebrew-from-absolute end-date))
(hebrew-y1 (extract-calendar-year hebrew-start))
(hebrew-y2 (extract-calendar-year hebrew-end))
+ ;; Hebrew new year is start of month 7.
+ ;; If hmonth >= 7, choose the higher year, y2.
(year (if (< 6 month) hebrew-y2 hebrew-y1))
(date (calendar-gregorian-from-absolute
(calendar-absolute-from-hebrew (list month day year)))))
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, (continued)
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/13
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/13
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/14
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/14
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/15
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/16
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/24
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/26
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/28
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/29
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v,
Glenn Morris <=
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/31
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/31
- [Emacs-diffs] Changes to emacs/lisp/calendar/cal-hebrew.el,v, Glenn Morris, 2008/03/31