mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-04 08:47:11 +00:00
(calendar-dst): New custom group.
(calendar-daylight-savings-starts, calendar-daylight-savings-ends) (calendar-time-zone, calendar-daylight-time-offset) (calendar-standard-time-zone-name, calendar-daylight-time-zone-name) (calendar-daylight-savings-starts-time) (calendar-daylight-savings-ends-time): Convert from defvar to defcustom. (calendar-daylight-savings-starts, calendar-daylight-savings-ends): Move to start.
This commit is contained in:
parent
c4632735bb
commit
ec1ee609ae
@ -36,6 +36,13 @@
|
||||
(require 'calendar)
|
||||
(require 'cal-persia)
|
||||
|
||||
|
||||
(defgroup calendar-dst nil
|
||||
"Options related to Daylight Saving Time."
|
||||
:prefix "calendar-"
|
||||
:group 'calendar)
|
||||
|
||||
|
||||
(defcustom calendar-dst-check-each-year-flag t
|
||||
"Non-nil means to check each year for DST transitions as needed.
|
||||
Otherwise assume the next two transitions found after the
|
||||
@ -46,9 +53,51 @@ change."
|
||||
:version "22.1"
|
||||
:group 'calendar)
|
||||
|
||||
;;;###autoload
|
||||
(put 'calendar-daylight-savings-starts 'risky-local-variable t)
|
||||
(defcustom calendar-daylight-savings-starts '(calendar-dst-starts year)
|
||||
"Sexp giving the date on which daylight saving time starts.
|
||||
This is an expression in the variable `year' whose value gives the Gregorian
|
||||
date in the form (month day year) on which daylight saving time starts. It is
|
||||
used to determine the starting date of daylight saving time for the holiday
|
||||
list and for correcting times of day in the solar and lunar calculations.
|
||||
|
||||
For example, if daylight saving time is mandated to start on October 1,
|
||||
you would set `calendar-daylight-savings-starts' to
|
||||
|
||||
'(10 1 year)
|
||||
|
||||
If it starts on the first Sunday in April, you would set it to
|
||||
|
||||
'(calendar-nth-named-day 1 0 4 year)
|
||||
|
||||
If the locale never uses daylight saving time, set this to nil."
|
||||
:type 'sexp
|
||||
:group 'calendar-dst)
|
||||
|
||||
;;;###autoload
|
||||
(put 'calendar-daylight-savings-ends 'risky-local-variable t)
|
||||
(defcustom calendar-daylight-savings-ends '(calendar-dst-ends year)
|
||||
"Sexp giving the date on which daylight saving time ends.
|
||||
This is an expression in the variable `year' whose value gives the Gregorian
|
||||
date in the form (month day year) on which daylight saving time ends. It is
|
||||
used to determine the starting date of daylight saving time for the holiday
|
||||
list and for correcting times of day in the solar and lunar calculations.
|
||||
|
||||
For example, if daylight saving time ends on the last Sunday in October:
|
||||
|
||||
'(calendar-nth-named-day -1 0 10 year)
|
||||
|
||||
If the locale never uses daylight saving time, set this to nil."
|
||||
:type 'sexp
|
||||
:group 'calendar-dst)
|
||||
|
||||
;;; More defcustoms below.
|
||||
|
||||
|
||||
(defvar calendar-current-time-zone-cache nil
|
||||
"Cache for result of `calendar-current-time-zone'.")
|
||||
(put 'calendar-current-time-zone-cache 'risky-local-variable t)
|
||||
(put 'calendar-current-time-zone-cache 'risky-local-variable t) ; why?
|
||||
|
||||
(defvar calendar-system-time-basis
|
||||
(calendar-absolute-from-gregorian '(1 1 1970))
|
||||
@ -310,35 +359,53 @@ it can't find."
|
||||
(unless calendar-current-time-zone-cache
|
||||
(setq calendar-current-time-zone-cache (calendar-dst-find-data))))
|
||||
|
||||
;;; The following eight defvars relating to daylight saving time should NOT be
|
||||
;;; marked to go into loaddefs.el where they would be evaluated when Emacs is
|
||||
;;; dumped. These variables' appropriate values depend on the conditions under
|
||||
;;; which the code is INVOKED; so it's inappropriate to initialize them when
|
||||
;;; Emacs is dumped---they should be initialized when calendar.el is loaded.
|
||||
;;; They default to US Eastern time if time zone info is not available.
|
||||
|
||||
;; Following options should be set based on conditions when the code
|
||||
;; is invoked, so are not suitable for dumping into loaddefs.el. They
|
||||
;; default to US Eastern time if time zone info is not available.
|
||||
|
||||
(calendar-current-time-zone)
|
||||
|
||||
(defvar calendar-time-zone (or (car calendar-current-time-zone-cache) -300)
|
||||
"*Number of minutes difference between local standard time at
|
||||
`calendar-location-name' and Coordinated Universal (Greenwich) Time. For
|
||||
example, -300 for New York City, -480 for Los Angeles.")
|
||||
(defcustom calendar-time-zone (or (car calendar-current-time-zone-cache) -300)
|
||||
"Number of minutes difference between local standard time at
|
||||
`calendar-location-name' and Coordinated Universal (Greenwich) Time.
|
||||
For example, -300 for New York City, -480 for Los Angeles."
|
||||
:type 'integer
|
||||
:group 'calendar-dst)
|
||||
|
||||
(defvar calendar-daylight-time-offset
|
||||
(defcustom calendar-daylight-time-offset
|
||||
(or (car (cdr calendar-current-time-zone-cache)) 60)
|
||||
"*Number of minutes difference between daylight saving and standard time.
|
||||
"Number of minutes difference between daylight saving and standard time.
|
||||
If the locale never uses daylight saving time, set this to 0."
|
||||
:type 'integer
|
||||
:group 'calendar-dst)
|
||||
|
||||
If the locale never uses daylight saving time, set this to 0.")
|
||||
|
||||
(defvar calendar-standard-time-zone-name
|
||||
(defcustom calendar-standard-time-zone-name
|
||||
(or (car (nthcdr 2 calendar-current-time-zone-cache)) "EST")
|
||||
"*Abbreviated name of standard time zone at `calendar-location-name'.
|
||||
For example, \"EST\" in New York City, \"PST\" for Los Angeles.")
|
||||
"Abbreviated name of standard time zone at `calendar-location-name'.
|
||||
For example, \"EST\" in New York City, \"PST\" for Los Angeles."
|
||||
:type 'string
|
||||
:group 'calendar-dst)
|
||||
|
||||
(defvar calendar-daylight-time-zone-name
|
||||
(defcustom calendar-daylight-time-zone-name
|
||||
(or (car (nthcdr 3 calendar-current-time-zone-cache)) "EDT")
|
||||
"*Abbreviated name of daylight saving time zone at `calendar-location-name'.
|
||||
For example, \"EDT\" in New York City, \"PDT\" for Los Angeles.")
|
||||
"Abbreviated name of daylight saving time zone at `calendar-location-name'.
|
||||
For example, \"EDT\" in New York City, \"PDT\" for Los Angeles."
|
||||
:type 'string
|
||||
:group 'calendar-dst)
|
||||
|
||||
(defcustom calendar-daylight-savings-starts-time
|
||||
(or (car (nthcdr 6 calendar-current-time-zone-cache)) 120)
|
||||
"Number of minutes after midnight that daylight saving time starts."
|
||||
:type 'integer
|
||||
:group 'calendar-dst)
|
||||
|
||||
(defcustom calendar-daylight-savings-ends-time
|
||||
(or (car (nthcdr 7 calendar-current-time-zone-cache))
|
||||
calendar-daylight-savings-starts-time)
|
||||
"Number of minutes after midnight that daylight saving time ends."
|
||||
:type 'integer
|
||||
:group 'calendar-dst)
|
||||
|
||||
|
||||
(defun calendar-dst-starts (year)
|
||||
@ -363,53 +430,6 @@ This function respects the value of `calendar-dst-check-each-year-flag'."
|
||||
(and (not (zerop calendar-daylight-time-offset))
|
||||
(calendar-nth-named-day 1 0 11 year))))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(put 'calendar-daylight-savings-starts 'risky-local-variable t)
|
||||
(defvar calendar-daylight-savings-starts
|
||||
'(calendar-dst-starts year)
|
||||
"*Sexp giving the date on which daylight saving time starts.
|
||||
This is an expression in the variable `year' whose value gives the Gregorian
|
||||
date in the form (month day year) on which daylight saving time starts. It is
|
||||
used to determine the starting date of daylight saving time for the holiday
|
||||
list and for correcting times of day in the solar and lunar calculations.
|
||||
|
||||
For example, if daylight saving time is mandated to start on October 1,
|
||||
you would set `calendar-daylight-savings-starts' to
|
||||
|
||||
'(10 1 year)
|
||||
|
||||
If it starts on the first Sunday in April, you would set it to
|
||||
|
||||
'(calendar-nth-named-day 1 0 4 year)
|
||||
|
||||
If the locale never uses daylight saving time, set this to nil.")
|
||||
|
||||
;;;###autoload
|
||||
(put 'calendar-daylight-savings-ends 'risky-local-variable t)
|
||||
(defvar calendar-daylight-savings-ends
|
||||
'(calendar-dst-ends year)
|
||||
"*Sexp giving the date on which daylight saving time ends.
|
||||
This is an expression in the variable `year' whose value gives the Gregorian
|
||||
date in the form (month day year) on which daylight saving time ends. It is
|
||||
used to determine the starting date of daylight saving time for the holiday
|
||||
list and for correcting times of day in the solar and lunar calculations.
|
||||
|
||||
For example, if daylight saving time ends on the last Sunday in October:
|
||||
|
||||
'(calendar-nth-named-day -1 0 10 year)
|
||||
|
||||
If the locale never uses daylight saving time, set this to nil.")
|
||||
|
||||
(defvar calendar-daylight-savings-starts-time
|
||||
(or (car (nthcdr 6 calendar-current-time-zone-cache)) 120)
|
||||
"*Number of minutes after midnight that daylight saving time starts.")
|
||||
|
||||
(defvar calendar-daylight-savings-ends-time
|
||||
(or (car (nthcdr 7 calendar-current-time-zone-cache))
|
||||
calendar-daylight-savings-starts-time)
|
||||
"*Number of minutes after midnight that daylight saving time ends.")
|
||||
|
||||
(defun dst-in-effect (date)
|
||||
"True if on absolute DATE daylight saving time is in effect.
|
||||
Fractional part of DATE is local standard time of day."
|
||||
|
Loading…
Reference in New Issue
Block a user