allow the calendar week to start on any day, not just Sunday.
(calendar-mod): New support function.
(calendar-cursor-to-visible-date, generate-calendar-month,
calendar-beginning-of-week, calendar-end-of-week):
Use new var calendar-week-start-day.
(calendar-day-name-array, calendar-month-name-array,
calendar-islamic-month-name-array,
calendar-hebrew-month-name-array-common-year,
calendar-hebrew-month-name-array-leap-year): Change to defvar.
dependent list of season names. The names are "international"; i.e.,
`vernal' and `autumnal' are used consistently.
(solar-equinoxes-solstices): Use new constants, allowing southern
hemisphere reports to be meaningful.
(sunrise-sunset): Use `frame-width' instead of `screen-width'.
next few years until at most one rule remains; if none remain, then
just use the first candidate rule; it's wrong in general, but it's
right for at least one year. This is a better heuristic in case the
underlying time zone implementation has bugs (which is all too
common). If possible, don't convert back and forth between gregorian
and absolute; this speeds things up noticeably. This uses the new
calendar-nth-named-absday function.
(calendar-current-time-zone): Some locales start DST at a different
time of day than they end; allow for this by yielding both times. The
performance speedups in calendar.el are great enough that we now no
longer need the "Checking time zone data..." message. If
current-time-zone yields nil, don't bother with
calendar-next-time-zone-transition. Use clearer names for local vars.
(calendar-time-zone, calendar-daylight-time-offset,
calendar-{standard,daylight}-time-zone-name,
calendar-daylight-savings-{starts,ends}): Default to US Eastern rules
for information that is not available.
(calendar-daylight-savings-{starts,ends}-time): New vars, replacing
calendar-daylight-savings-switchover-time, to support locales that
start DST at a different time of day than they end.
(calendar-absolute-from-time):
Fix typo by interchanging floor and mod.
calendar-daylight-savings-{starts,ends}-time vars instead of old
calendar-daylight-savings-switchover-time var.
(calendar-last-day-of-month): Tune by testing month before year.
(calendar-absolute-from-gregorian): Tune by computing (1- year) once.
(calendar-nth-named-absday): New function, used to improve performance
in calendar-time-zone-daylight-rules.
(calendar-nth-named-day): Use it.
american-calendar-display-form, european-calendar-display-form):
Fix typos in doc strings doc strings.
(calendar-mode-map): Use "[prior]" and "[next]" in key bindings.
(diary-hook): New user variable.
(diary-date-forms, calendar-date-display-form): Don't autoload
them so the European/American style is decided at load time.
(calendar-/, calendar-%, calendar-absolute-from-time,
calendar-time-from-absolute, calendar-next-time-zone-transition,
calendar-time-zone-daylight-rules): New functions.
(calendar-current-time-zone): Moved from calendar.el and rewritten.
(calendar-current-time-zone-cache): New variable.
(calendar-current-time-zone, calendar-time-zone,
calendar-daylight-time-offset, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name,
calendar-daylight-savings-starts, calendar-daylight-savings-ends,
calendar-daylight-savings-switchover-time): Moved from calendar.el.
calendar-holiday-function-float, calendar-holiday-function-julian,
calendar-holiday-function-islamic,
calendar-holiday-function-hebrew, calendar-holiday-function-sexp,
calendar-holiday-function-advent,
calendar-holiday-function-easter-etc,
calendar-holiday-function-greek-orthodox-easter,
calendar-holiday-function-rosh-hashanah-etc,
calendar-holiday-function-hanukkah,
calendar-holiday-function-passover-etc,
calendar-holiday-function-tisha-b-av-etc): Renamed without words
"calendar" and "function"; changed argument from a list of values to
individual values. Fixed doc strings.
(calendar-holiday-function-if): Removed.
(calendar-holiday-solar-equinoxes-solstices): Renamed
solar-equinoxes-solstices.
(calendar-holiday-list): Rewrote to accomodate the name changes
above and the unquoting of calendar-holidays.
(calendar-cursor-holidays): Change screen-width to frame-width.
(holiday-sexp): Rewritten.
solar-equinoxes-solstices.
(calendar-time-display-form, calendar-latitude,
calendar-longitude): Moved from calendar.el.
(calendar-time-zone, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name,
calendar-daylight-savings-starts, calendar-daylight-savings-ends):
Take default values from calendar-current-time-zone, instead of
being overwritten in open code if they were set to nil.
(solar-time-string): Subtract calendar-daylight-time-offset when
computing dst-ends. Avoid rounding errors when rounding time to
the nearest minute.
of spelling error in comments and doc strings.
(calendar-sexp-debug): New variable to turn off error catching.
(calendar-absolute-from-gregorian): Removed unused vars month, day.
(view-calendar-holidays-initially, all-hebrew-calendar-holidays,
all-christian-calendar-holidays, all-christian-islamic-holidays,
diary-nonmarking-symbol, hebrew-diary-entry-symbol,
islamic-diary-entry-symbol, diary-include-string,
abbreviated-calendar-year, european-calendar-style,
european-calendar-display-form, american-calendar-display-form,
calendar-date-display-form, print-diary-entries-hook,
list-diary-entries-hook, nongregorian-diary-listing-hook,
nongregorian-diary-marking-hook, diary-list-include-blanks,
holidays-in-diary-buffer, general-holidays,
increment-calendar-month, calendar-sum, calendar-string-spread,
calendar-absolute-from-iso, calendar-print-iso-date,
hebrew-calendar-elapsed-days, list-yahrzeit-dates,
calendar-print-astro-day-number): Fix doc strings.
(calendar-nth-named-day): Rewritten to include optional day of month.
(general-holidays, calendar-holidays, hebrew-holidays,
christian-holidays, islamic-holidays,
solar-holidays): Rewritten to include require of cal-dst.el and to
show the time of the change to/from daylight savings time.
(calendar-current-time-zone, calendar-time-zone,
calendar-daylight-time-offset, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name, calendar-daylight-savings-starts,
calendar-daylight-savings-ends,
calendar-daylight-savings-switchover-time): Moved to cal-dst.el.
(calendar-location-name, calendar-time-display-form, calendar-latitude,
calendar-longitude): Moved to solar.el.
(calendar-holidays): Unquote it!
Universal Time (UT) to Coordinated Universal Time (UTC).
(solar-time-string): Use calendar-daylight-time-offset instead of
1 hr, and use calendar-daylight-savings-switchover-time instead of
midnight. Add an optional parameter to allow forcing the use of
standard or daylight savings time. Fix code so it works in
southern hemisphere (start of dst precedes end of dst in a
calendar year) and when dst either starts or ends in a calendar
year, but not both.
to make them more readable.
(calendar-time-zone, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name, calendar-daylight-savings-ends,
calendar-daylight-savings-starts): Don't autload them.
* calendar.el (calendar-holidays): Quote it to delay evaluation
until it's needed.
* calendar.el (calendar-current-time-zone): New function.
(calendar-time-zone, calendar-standard-time-zone-name,
calendar-daylight-time-zone-name): Use it instead of current-time-zone.
* sendmail.el (mail-do-fcc): Use the same absolute time for both
current-time-string and current-time-zone. Adjust to new format
returned by current-time-zone.
calendar-daylight-time-zone-name): Initialize these at load-time,
as well as calendar-time-zone.
* calendar.el (calendar-time-zone): Fix code which initializes
this.