diff options
| author | Glenn Morris | 2010-10-08 19:25:38 -0700 |
|---|---|---|
| committer | Glenn Morris | 2010-10-08 19:25:38 -0700 |
| commit | 85d50db7e43f64e9b88ef6c9580e425443bf7251 (patch) | |
| tree | 5a700a11e315fb1ca1c0d08cdb24a12779431dd7 | |
| parent | 870b199e029cbb4a8c707b35eff70fb0665c919a (diff) | |
| download | emacs-85d50db7e43f64e9b88ef6c9580e425443bf7251.tar.gz emacs-85d50db7e43f64e9b88ef6c9580e425443bf7251.zip | |
Small simplifications for some cal-hebrew calculations.
* lisp/calendar/cal-hebrew.el (holiday-hebrew-rosh-hashanah)
(holiday-hebrew-passover, holiday-hebrew-tisha-b-av)
(holiday-hebrew-misc): Small simplifications.
| -rw-r--r-- | lisp/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/calendar/cal-hebrew.el | 168 |
2 files changed, 87 insertions, 85 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 56de335de6f..63bf804c3c4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,9 @@ | |||
| 1 | 2010-10-09 Glenn Morris <rgm@gnu.org> | 1 | 2010-10-09 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * calendar/cal-hebrew.el (holiday-hebrew-rosh-hashanah) | ||
| 4 | (holiday-hebrew-passover, holiday-hebrew-tisha-b-av) | ||
| 5 | (holiday-hebrew-misc): Small simplifications. | ||
| 6 | |||
| 3 | * emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c. | 7 | * emacs-lisp/authors.el (authors-valid-file-names): Add b2m.c. |
| 4 | 8 | ||
| 5 | * net/browse-url.el: Don't require thingatpt, term, dired, | 9 | * net/browse-url.el: Don't require thingatpt, term, dired, |
diff --git a/lisp/calendar/cal-hebrew.el b/lisp/calendar/cal-hebrew.el index 98c1a29df7c..366fb2396fc 100644 --- a/lisp/calendar/cal-hebrew.el +++ b/lisp/calendar/cal-hebrew.el | |||
| @@ -376,7 +376,7 @@ or ALL is non-nil." | |||
| 376 | (list (calendar-gregorian-from-absolute (1+ abs-r-h)) | 376 | (list (calendar-gregorian-from-absolute (1+ abs-r-h)) |
| 377 | "Rosh HaShanah (second day)") | 377 | "Rosh HaShanah (second day)") |
| 378 | (list (calendar-gregorian-from-absolute | 378 | (list (calendar-gregorian-from-absolute |
| 379 | (if (= (% abs-r-h 7) 4) (+ abs-r-h 3) (+ abs-r-h 2))) | 379 | (+ abs-r-h (if (= (% abs-r-h 7) 4) 3 2))) |
| 380 | "Tzom Gedaliah") | 380 | "Tzom Gedaliah") |
| 381 | (list (calendar-gregorian-from-absolute | 381 | (list (calendar-gregorian-from-absolute |
| 382 | (calendar-dayname-on-or-before 6 (+ 7 abs-r-h))) | 382 | (calendar-dayname-on-or-before 6 (+ 7 abs-r-h))) |
| @@ -454,70 +454,71 @@ or ALL is non-nil." | |||
| 454 | (list (calendar-gregorian-from-absolute (+ abs-p 50)) | 454 | (list (calendar-gregorian-from-absolute (+ abs-p 50)) |
| 455 | "Shavuot")) | 455 | "Shavuot")) |
| 456 | (when (or all calendar-hebrew-all-holidays-flag) | 456 | (when (or all calendar-hebrew-all-holidays-flag) |
| 457 | (list | 457 | (let ((wday (% abs-p 7))) |
| 458 | (list (calendar-gregorian-from-absolute | 458 | (list |
| 459 | (calendar-dayname-on-or-before 6 (- abs-p 43))) | 459 | (list (calendar-gregorian-from-absolute |
| 460 | "Shabbat Shekalim") | 460 | (calendar-dayname-on-or-before 6 (- abs-p 43))) |
| 461 | (list (calendar-gregorian-from-absolute | 461 | "Shabbat Shekalim") |
| 462 | (calendar-dayname-on-or-before 6 (- abs-p 30))) | 462 | (list (calendar-gregorian-from-absolute |
| 463 | "Shabbat Zachor") | 463 | (calendar-dayname-on-or-before 6 (- abs-p 30))) |
| 464 | (list (calendar-gregorian-from-absolute | 464 | "Shabbat Zachor") |
| 465 | (if (= (% abs-p 7) 2) (- abs-p 33) (- abs-p 31))) | 465 | (list (calendar-gregorian-from-absolute |
| 466 | "Fast of Esther") | 466 | (- abs-p (if (= wday 2) 33 31))) |
| 467 | (list (calendar-gregorian-from-absolute (- abs-p 31)) | 467 | "Fast of Esther") |
| 468 | "Erev Purim") | 468 | (list (calendar-gregorian-from-absolute (- abs-p 31)) |
| 469 | (list (calendar-gregorian-from-absolute (- abs-p 30)) | 469 | "Erev Purim") |
| 470 | "Purim") | 470 | (list (calendar-gregorian-from-absolute (- abs-p 30)) |
| 471 | (list (calendar-gregorian-from-absolute | 471 | "Purim") |
| 472 | (if (zerop (% abs-p 7)) (- abs-p 28) (- abs-p 29))) | 472 | (list (calendar-gregorian-from-absolute |
| 473 | "Shushan Purim") | 473 | (- abs-p (if (zerop wday) 28 29))) |
| 474 | (list (calendar-gregorian-from-absolute | 474 | "Shushan Purim") |
| 475 | (- (calendar-dayname-on-or-before 6 (- abs-p 14)) 7)) | 475 | (list (calendar-gregorian-from-absolute |
| 476 | "Shabbat Parah") | 476 | (- (calendar-dayname-on-or-before 6 (- abs-p 14)) 7)) |
| 477 | (list (calendar-gregorian-from-absolute | 477 | "Shabbat Parah") |
| 478 | (calendar-dayname-on-or-before 6 (- abs-p 14))) | 478 | (list (calendar-gregorian-from-absolute |
| 479 | "Shabbat HaHodesh") | 479 | (calendar-dayname-on-or-before 6 (- abs-p 14))) |
| 480 | (list (calendar-gregorian-from-absolute | 480 | "Shabbat HaHodesh") |
| 481 | (calendar-dayname-on-or-before 6 (1- abs-p))) | 481 | (list (calendar-gregorian-from-absolute |
| 482 | "Shabbat HaGadol") | 482 | (calendar-dayname-on-or-before 6 (1- abs-p))) |
| 483 | (list (calendar-gregorian-from-absolute (1- abs-p)) | 483 | "Shabbat HaGadol") |
| 484 | "Erev Passover") | 484 | (list (calendar-gregorian-from-absolute (1- abs-p)) |
| 485 | (list (calendar-gregorian-from-absolute (1+ abs-p)) | 485 | "Erev Passover") |
| 486 | "Passover (second day)") | 486 | (list (calendar-gregorian-from-absolute (1+ abs-p)) |
| 487 | (list (calendar-gregorian-from-absolute (+ abs-p 2)) | 487 | "Passover (second day)") |
| 488 | "Hol Hamoed Passover (first day)") | 488 | (list (calendar-gregorian-from-absolute (+ abs-p 2)) |
| 489 | (list (calendar-gregorian-from-absolute (+ abs-p 3)) | 489 | "Hol Hamoed Passover (first day)") |
| 490 | "Hol Hamoed Passover (second day)") | 490 | (list (calendar-gregorian-from-absolute (+ abs-p 3)) |
| 491 | (list (calendar-gregorian-from-absolute (+ abs-p 4)) | 491 | "Hol Hamoed Passover (second day)") |
| 492 | "Hol Hamoed Passover (third day)") | 492 | (list (calendar-gregorian-from-absolute (+ abs-p 4)) |
| 493 | (list (calendar-gregorian-from-absolute (+ abs-p 5)) | 493 | "Hol Hamoed Passover (third day)") |
| 494 | "Hol Hamoed Passover (fourth day)") | 494 | (list (calendar-gregorian-from-absolute (+ abs-p 5)) |
| 495 | (list (calendar-gregorian-from-absolute (+ abs-p 6)) | 495 | "Hol Hamoed Passover (fourth day)") |
| 496 | "Passover (seventh day)") | 496 | (list (calendar-gregorian-from-absolute (+ abs-p 6)) |
| 497 | (list (calendar-gregorian-from-absolute (+ abs-p 7)) | 497 | "Passover (seventh day)") |
| 498 | "Passover (eighth day)") | 498 | (list (calendar-gregorian-from-absolute (+ abs-p 7)) |
| 499 | (list (calendar-gregorian-from-absolute | 499 | "Passover (eighth day)") |
| 500 | (if (zerop (% (+ abs-p 12) 7)) | 500 | (list (calendar-gregorian-from-absolute |
| 501 | (+ abs-p 13) | 501 | (+ abs-p (if (zerop (% (+ abs-p 12) 7)) |
| 502 | (+ abs-p 12))) | 502 | 13 |
| 503 | "Yom HaShoah") | 503 | 12))) |
| 504 | (list (calendar-gregorian-from-absolute | 504 | "Yom HaShoah") |
| 505 | (if (zerop (% abs-p 7)) | 505 | (list (calendar-gregorian-from-absolute |
| 506 | (+ abs-p 18) | 506 | (+ abs-p |
| 507 | (if (= (% abs-p 7) 6) | 507 | ;; If falls on Sat or Fri, moves to preceding Thurs. |
| 508 | (+ abs-p 19) | 508 | ;; If falls on Mon, moves to Tues (since 2004). |
| 509 | (if (= (% abs-p 7) 2) | 509 | (cond ((zerop wday) 18) ; Sat |
| 510 | (+ abs-p 21) | 510 | ((= wday 6) 19) ; Fri |
| 511 | (+ abs-p 20))))) | 511 | ((= wday 2) 21) ; Mon |
| 512 | "Yom HaAtzma'ut") | 512 | (t 20)))) |
| 513 | (list (calendar-gregorian-from-absolute (+ abs-p 33)) | 513 | "Yom HaAtzma'ut") |
| 514 | "Lag BaOmer") | 514 | (list (calendar-gregorian-from-absolute (+ abs-p 33)) |
| 515 | (list (calendar-gregorian-from-absolute (+ abs-p 43)) | 515 | "Lag BaOmer") |
| 516 | "Yom Yerushalaim") | 516 | (list (calendar-gregorian-from-absolute (+ abs-p 43)) |
| 517 | (list (calendar-gregorian-from-absolute (+ abs-p 49)) | 517 | "Yom Yerushalaim") |
| 518 | "Erev Shavuot") | 518 | (list (calendar-gregorian-from-absolute (+ abs-p 49)) |
| 519 | (list (calendar-gregorian-from-absolute (+ abs-p 51)) | 519 | "Erev Shavuot") |
| 520 | "Shavuot (second day)")))))))) | 520 | (list (calendar-gregorian-from-absolute (+ abs-p 51)) |
| 521 | "Shavuot (second day)"))))))))) | ||
| 521 | 522 | ||
| 522 | ;;;###holiday-autoload | 523 | ;;;###holiday-autoload |
| 523 | (define-obsolete-function-alias 'holiday-passover-etc | 524 | (define-obsolete-function-alias 'holiday-passover-etc |
| @@ -527,18 +528,19 @@ or ALL is non-nil." | |||
| 527 | (defun holiday-hebrew-tisha-b-av () | 528 | (defun holiday-hebrew-tisha-b-av () |
| 528 | "List of dates around Tisha B'Av, as visible in calendar window." | 529 | "List of dates around Tisha B'Av, as visible in calendar window." |
| 529 | (when (memq displayed-month '(5 6 7 8 9)) | 530 | (when (memq displayed-month '(5 6 7 8 9)) |
| 530 | (let ((abs-t-a (calendar-hebrew-to-absolute | 531 | (let* ((abs-t-a (calendar-hebrew-to-absolute |
| 531 | (list 5 9 (+ displayed-year 3760))))) | 532 | (list 5 9 (+ displayed-year 3760)))) |
| 533 | (wday (% abs-t-a 7))) | ||
| 532 | (holiday-filter-visible-calendar | 534 | (holiday-filter-visible-calendar |
| 533 | (list | 535 | (list |
| 534 | (list (calendar-gregorian-from-absolute | 536 | (list (calendar-gregorian-from-absolute |
| 535 | (if (= (% abs-t-a 7) 6) (- abs-t-a 20) (- abs-t-a 21))) | 537 | (- abs-t-a (if (= wday 6) 20 21))) |
| 536 | "Tzom Tammuz") | 538 | "Tzom Tammuz") |
| 537 | (list (calendar-gregorian-from-absolute | 539 | (list (calendar-gregorian-from-absolute |
| 538 | (calendar-dayname-on-or-before 6 abs-t-a)) | 540 | (calendar-dayname-on-or-before 6 abs-t-a)) |
| 539 | "Shabbat Hazon") | 541 | "Shabbat Hazon") |
| 540 | (list (calendar-gregorian-from-absolute | 542 | (list (calendar-gregorian-from-absolute |
| 541 | (if (= (% abs-t-a 7) 6) (1+ abs-t-a) abs-t-a)) | 543 | (if (= wday 6) (1+ abs-t-a) abs-t-a)) |
| 542 | "Tisha B'Av") | 544 | "Tisha B'Av") |
| 543 | (list (calendar-gregorian-from-absolute | 545 | (list (calendar-gregorian-from-absolute |
| 544 | (calendar-dayname-on-or-before 6 (+ abs-t-a 7))) | 546 | (calendar-dayname-on-or-before 6 (+ abs-t-a 7))) |
| @@ -557,7 +559,7 @@ Includes: Tal Umatar, Tzom Teveth, Tu B'Shevat, Shabbat Shirah, and | |||
| 557 | Kiddush HaHamah." | 559 | Kiddush HaHamah." |
| 558 | (let ((m displayed-month) | 560 | (let ((m displayed-month) |
| 559 | (y displayed-year) | 561 | (y displayed-year) |
| 560 | year h-year s-s) | 562 | year h-year) |
| 561 | (append | 563 | (append |
| 562 | (holiday-julian | 564 | (holiday-julian |
| 563 | 11 | 565 | 11 |
| @@ -591,20 +593,17 @@ Kiddush HaHamah." | |||
| 591 | (calendar-extract-year | 593 | (calendar-extract-year |
| 592 | (calendar-hebrew-from-absolute | 594 | (calendar-hebrew-from-absolute |
| 593 | (calendar-absolute-from-gregorian | 595 | (calendar-absolute-from-gregorian |
| 594 | (list m (calendar-last-day-of-month m y) y))))) | 596 | (list m (calendar-last-day-of-month m y) y)))))) |
| 595 | s-s | 597 | (calendar-extract-day |
| 596 | (calendar-hebrew-from-absolute | 598 | (calendar-hebrew-from-absolute |
| 597 | (if (= 6 | 599 | (calendar-dayname-on-or-before |
| 598 | (% (calendar-hebrew-to-absolute | 600 | 6 (calendar-hebrew-to-absolute |
| 599 | (list 7 1 h-year)) | 601 | (list 11 |
| 600 | 7)) | 602 | (if (= 6 |
| 601 | (calendar-dayname-on-or-before | 603 | (% (calendar-hebrew-to-absolute |
| 602 | 6 (calendar-hebrew-to-absolute | 604 | (list 7 1 h-year)) |
| 603 | (list 11 17 h-year))) | 605 | 7)) |
| 604 | (calendar-dayname-on-or-before | 606 | 17 16) h-year)))))) |
| 605 | 6 (calendar-hebrew-to-absolute | ||
| 606 | (list 11 16 h-year)))))) | ||
| 607 | (calendar-extract-day s-s)) | ||
| 608 | "Shabbat Shirah") | 607 | "Shabbat Shirah") |
| 609 | (and (progn | 608 | (and (progn |
| 610 | (setq m displayed-month | 609 | (setq m displayed-month |
| @@ -1162,5 +1161,4 @@ use when highlighting the day in the calendar." | |||
| 1162 | 1161 | ||
| 1163 | (provide 'cal-hebrew) | 1162 | (provide 'cal-hebrew) |
| 1164 | 1163 | ||
| 1165 | ;; arch-tag: aaab6718-7712-42ac-a32d-28fe1f944f3c | ||
| 1166 | ;;; cal-hebrew.el ends here | 1164 | ;;; cal-hebrew.el ends here |