Mercurial > emacs
changeset 93750:6b7951a8cc36
(diary-hebrew-sabbath-candles-minutes, diary-hebrew-sabbath-candles):
Move here from solar.el and rename. Doc fix. Keep old name as alias.
(solar-setup, solar-sunrise-sunset, calendar-latitude)
(calendar-longitude, calendar-time-zone): Declare for compiler.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 05 Apr 2008 21:24:15 +0000 |
parents | a67be3023573 |
children | 243401294d46 |
files | lisp/calendar/cal-hebrew.el |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/cal-hebrew.el Sat Apr 05 21:23:43 2008 +0000 +++ b/lisp/calendar/cal-hebrew.el Sat Apr 05 21:24:15 2008 +0000 @@ -34,6 +34,18 @@ (require 'calendar) +(defcustom diary-hebrew-sabbath-candles-minutes 18 + "Number of minutes before sunset for sabbath candle lighting. +Used by `diary-hebrew-sabbath-candles'." + :group 'diary + :type 'integer + :version "21.1") + +(define-obsolete-variable-alias 'diary-sabbath-candles-minutes + 'diary-hebrew-sabbath-candles-minutes "23.1") + +;; End of user options. + (defun calendar-hebrew-leap-year-p (year) "Non-nil if YEAR is a Hebrew calendar leap year." (< (% (1+ (* 7 year)) 19) 7)) @@ -1112,6 +1124,42 @@ (define-obsolete-function-alias 'diary-parasha 'diary-hebrew-parasha "23.1") + +(declare-function solar-setup "solar" ()) +(declare-function solar-sunrise-sunset "solar" (date)) +(defvar calendar-latitude) +(defvar calendar-longitude) +(defvar calendar-time-zone) + + +;; To be called from list-sexp-diary-entries, where DATE is bound. +;;;###diary-autoload +(defun diary-hebrew-sabbath-candles (&optional mark) + "Local time of candle lighting diary entry--applies if date is a Friday. +No diary entry if there is no sunset on that date. Uses +`diary-hebrew-sabbath-candles-minutes'. + +An optional parameter MARK specifies a face or single-character string to +use when highlighting the day in the calendar." + (require 'solar) + (or (and calendar-latitude calendar-longitude calendar-time-zone) + (solar-setup)) + (if (= (% (calendar-absolute-from-gregorian date) 7) 5) ; Friday + (let* ((sunset (cadr (solar-sunrise-sunset date))) + (light (if sunset + (cons (- (car sunset) + (/ diary-hebrew-sabbath-candles-minutes 60.0)) + (cdr sunset))))) + (if sunset + (cons mark + (format "%s Sabbath candle lighting" + (apply 'solar-time-string light))))))) + +;;;###diary-autoload +(define-obsolete-function-alias 'diary-sabbath-candles + 'diary-hebrew-sabbath-candles "23.1") + + (provide 'cal-hebrew) ;; arch-tag: aaab6718-7712-42ac-a32d-28fe1f944f3c