aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/calendar/cal-china.el22
-rw-r--r--lisp/calendar/cal-dst.el70
2 files changed, 46 insertions, 46 deletions
diff --git a/lisp/calendar/cal-china.el b/lisp/calendar/cal-china.el
index 1c08d553754..a838141db1c 100644
--- a/lisp/calendar/cal-china.el
+++ b/lisp/calendar/cal-china.el
@@ -83,8 +83,8 @@ UT+7:45:40 to UT+8."
83; The correct value is as follows, but the Chinese calendrical 83; The correct value is as follows, but the Chinese calendrical
84; authorities do NOT use DST in determining astronomical events: 84; authorities do NOT use DST in determining astronomical events:
85; 60 85; 60
86 "*Number of minutes difference between daylight savings and standard time 86 "*Number of minutes difference between daylight saving and standard time
87for Chinese calendar. Default is for no daylight savings time." 87for Chinese calendar. Default is for no daylight saving time."
88 :type 'integer 88 :type 'integer
89 :group 'chinese-calendar) 89 :group 'chinese-calendar)
90 90
@@ -99,7 +99,7 @@ at 1928-01-01 00:00:00 from `PMT' to `CST'."
99 :group 'chinese-calendar) 99 :group 'chinese-calendar)
100 100
101(defcustom chinese-calendar-daylight-time-zone-name "CDT" 101(defcustom chinese-calendar-daylight-time-zone-name "CDT"
102 "*Abbreviated name of daylight-savings time zone used for Chinese calendar." 102 "*Abbreviated name of daylight saving time zone used for Chinese calendar."
103 :type 'string 103 :type 'string
104 :group 'chinese-calendar) 104 :group 'chinese-calendar)
105 105
@@ -109,8 +109,8 @@ at 1928-01-01 00:00:00 from `PMT' to `CST'."
109; '(cond ((< 1986 year) (calendar-nth-named-day 1 0 4 year 10)) 109; '(cond ((< 1986 year) (calendar-nth-named-day 1 0 4 year 10))
110; ((= 1986 year) '(5 4 1986)) 110; ((= 1986 year) '(5 4 1986))
111; (t nil)) 111; (t nil))
112 "*Sexp giving the date on which daylight savings time starts for Chinese 112 "*Sexp giving the date on which daylight saving time starts for Chinese
113calendar. Default is for no daylight savings time. See documentation of 113calendar. Default is for no daylight saving time. See documentation of
114`calendar-daylight-savings-starts'." 114`calendar-daylight-savings-starts'."
115 :type 'sexp 115 :type 'sexp
116 :group 'chinese-calendar) 116 :group 'chinese-calendar)
@@ -119,21 +119,21 @@ calendar. Default is for no daylight savings time. See documentation of
119; The correct value is as follows, but the Chinese calendrical 119; The correct value is as follows, but the Chinese calendrical
120; authorities do NOT use DST in determining astronomical events: 120; authorities do NOT use DST in determining astronomical events:
121; '(if (<= 1986 year) (calendar-nth-named-day 1 0 9 year 11)) 121; '(if (<= 1986 year) (calendar-nth-named-day 1 0 9 year 11))
122 "*Sexp giving the date on which daylight savings time ends for Chinese 122 "*Sexp giving the date on which daylight saving time ends for Chinese
123calendar. Default is for no daylight savings time. See documentation of 123calendar. Default is for no daylight saving time. See documentation of
124`calendar-daylight-savings-ends'." 124`calendar-daylight-savings-ends'."
125 :type 'sexp 125 :type 'sexp
126 :group 'chinese-calendar) 126 :group 'chinese-calendar)
127 127
128(defcustom chinese-calendar-daylight-savings-starts-time 0 128(defcustom chinese-calendar-daylight-savings-starts-time 0
129 "*Number of minutes after midnight that daylight savings time starts for 129 "*Number of minutes after midnight that daylight saving time starts for
130Chinese calendar. Default is for no daylight savings time." 130Chinese calendar. Default is for no daylight saving time."
131 :type 'integer 131 :type 'integer
132 :group 'chinese-calendar) 132 :group 'chinese-calendar)
133 133
134(defcustom chinese-calendar-daylight-savings-ends-time 0 134(defcustom chinese-calendar-daylight-savings-ends-time 0
135 "*Number of minutes after midnight that daylight savings time ends for 135 "*Number of minutes after midnight that daylight saving time ends for
136Chinese calendar. Default is for no daylight savings time." 136Chinese calendar. Default is for no daylight saving time."
137 :type 'integer 137 :type 'integer
138 :group 'chinese-calendar) 138 :group 'chinese-calendar)
139 139
diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el
index 928c42f9122..3aea69b8ccf 100644
--- a/lisp/calendar/cal-dst.el
+++ b/lisp/calendar/cal-dst.el
@@ -1,4 +1,4 @@
1;;; cal-dst.el --- calendar functions for daylight savings rules 1;;; cal-dst.el --- calendar functions for daylight saving rules
2 2
3;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 3;; Copyright (C) 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005,
4;; 2006, 2007 Free Software Foundation, Inc. 4;; 2006, 2007 Free Software Foundation, Inc.
@@ -7,7 +7,7 @@
7;; Edward M. Reingold <reingold@cs.uiuc.edu> 7;; Edward M. Reingold <reingold@cs.uiuc.edu>
8;; Maintainer: Glenn Morris <rgm@gnu.org> 8;; Maintainer: Glenn Morris <rgm@gnu.org>
9;; Keywords: calendar 9;; Keywords: calendar
10;; Human-Keywords: daylight savings time, calendar, diary, holidays 10;; Human-Keywords: daylight saving time, calendar, diary, holidays
11 11
12;; This file is part of GNU Emacs. 12;; This file is part of GNU Emacs.
13 13
@@ -29,7 +29,7 @@
29;;; Commentary: 29;;; Commentary:
30 30
31;; This collection of functions implements the features of calendar.el and 31;; This collection of functions implements the features of calendar.el and
32;; holiday.el that deal with daylight savings time. 32;; holiday.el that deal with daylight saving time.
33 33
34;; Comments, corrections, and improvements should be sent to 34;; Comments, corrections, and improvements should be sent to
35;; Edward M. Reingold Department of Computer Science 35;; Edward M. Reingold Department of Computer Science
@@ -46,7 +46,7 @@
46 "Non-nil means to check each year for DST transitions as needed. 46 "Non-nil means to check each year for DST transitions as needed.
47Otherwise assume the next two transitions found after the 47Otherwise assume the next two transitions found after the
48current date apply to all years. This is faster, but not always 48current date apply to all years. This is faster, but not always
49correct, since the dates of Daylight Saving transitions sometimes 49correct, since the dates of daylight saving transitions sometimes
50change." 50change."
51 :type 'boolean 51 :type 'boolean
52 :version "22.1" 52 :version "22.1"
@@ -142,8 +142,8 @@ Return nil if no such transition can be found."
142 142
143(defun calendar-time-zone-daylight-rules (abs-date utc-diff) 143(defun calendar-time-zone-daylight-rules (abs-date utc-diff)
144 "Return daylight transition rule for ABS-DATE, UTC-DIFF sec offset from UTC. 144 "Return daylight transition rule for ABS-DATE, UTC-DIFF sec offset from UTC.
145ABS-DATE must specify a day that contains a daylight savings transition. 145ABS-DATE must specify a day that contains a daylight saving transition.
146The result has the proper form for calendar-daylight-savings-starts'." 146The result has the proper form for `calendar-daylight-savings-starts'."
147 (let* ((date (calendar-gregorian-from-absolute abs-date)) 147 (let* ((date (calendar-gregorian-from-absolute abs-date))
148 (weekday (% abs-date 7)) 148 (weekday (% abs-date 7))
149 (m (extract-calendar-month date)) 149 (m (extract-calendar-month date))
@@ -215,7 +215,7 @@ The result has the proper form for calendar-daylight-savings-starts'."
215;; See thread 215;; See thread
216;; http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html 216;; http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html
217(defun calendar-dst-find-data (&optional time) 217(defun calendar-dst-find-data (&optional time)
218 "Find data on the first Daylight Saving Time transitions after TIME. 218 "Find data on the first daylight saving time transitions after TIME.
219TIME defaults to `current-time'. Return value is as described 219TIME defaults to `current-time'. Return value is as described
220for `calendar-current-time-zone'." 220for `calendar-current-time-zone'."
221 (let* ((t0 (or time (current-time))) 221 (let* ((t0 (or time (current-time)))
@@ -228,9 +228,9 @@ for `calendar-current-time-zone'."
228 (let* ((t1 (calendar-next-time-zone-transition t0)) 228 (let* ((t1 (calendar-next-time-zone-transition t0))
229 (t2 (and t1 (calendar-next-time-zone-transition t1)))) 229 (t2 (and t1 (calendar-next-time-zone-transition t1))))
230 (if (not t2) 230 (if (not t2)
231 ;; This locale does not have daylight savings time. 231 ;; This locale does not have daylight saving time.
232 (list (/ t0-utc-diff 60) 0 t0-name t0-name nil nil 0 0) 232 (list (/ t0-utc-diff 60) 0 t0-name t0-name nil nil 0 0)
233 ;; Use heuristics to find daylight savings parameters. 233 ;; Use heuristics to find daylight saving parameters.
234 (let* ((t1-zone (current-time-zone t1)) 234 (let* ((t1-zone (current-time-zone t1))
235 (t1-utc-diff (car t1-zone)) 235 (t1-utc-diff (car t1-zone))
236 (t1-name (car (cdr t1-zone))) 236 (t1-name (car (cdr t1-zone)))
@@ -254,14 +254,14 @@ for `calendar-current-time-zone'."
254 ))))))))) 254 )))))))))
255 255
256(defvar calendar-dst-transition-cache nil 256(defvar calendar-dst-transition-cache nil
257 "Internal cal-dst variable storing date of Daylight Saving Time transitions. 257 "Internal cal-dst variable storing date of daylight saving time transitions.
258Value is a list with elements of the form (YEAR START END), where 258Value is a list with elements of the form (YEAR START END), where
259START and END are expressions that when evaluated return the 259START and END are expressions that when evaluated return the
260start and end dates (respectively) for DST in YEAR. Used by the 260start and end dates (respectively) for DST in YEAR. Used by the
261function `calendar-dst-find-startend'.") 261function `calendar-dst-find-startend'.")
262 262
263(defun calendar-dst-find-startend (year) 263(defun calendar-dst-find-startend (year)
264 "Find the dates in YEAR on which Daylight Saving Time starts and ends. 264 "Find the dates in YEAR on which daylight saving time starts and ends.
265Returns a list (YEAR START END), where START and END are 265Returns a list (YEAR START END), where START and END are
266expressions that when evaluated return the start and end dates, 266expressions that when evaluated return the start and end dates,
267respectively. This function first attempts to use pre-calculated 267respectively. This function first attempts to use pre-calculated
@@ -288,16 +288,16 @@ system knows:
288UTC-DIFF is an integer specifying the number of minutes difference between 288UTC-DIFF is an integer specifying the number of minutes difference between
289 standard time in the current time zone and Coordinated Universal Time 289 standard time in the current time zone and Coordinated Universal Time
290 (Greenwich Mean Time). A negative value means west of Greenwich. 290 (Greenwich Mean Time). A negative value means west of Greenwich.
291DST-OFFSET is an integer giving the daylight savings time offset in minutes. 291DST-OFFSET is an integer giving the daylight saving time offset in minutes.
292STD-ZONE is a string giving the name of the time zone when no seasonal time 292STD-ZONE is a string giving the name of the time zone when no seasonal time
293 adjustment is in effect. 293 adjustment is in effect.
294DST-ZONE is a string giving the name of the time zone when there is a seasonal 294DST-ZONE is a string giving the name of the time zone when there is a seasonal
295 time adjustment in effect. 295 time adjustment in effect.
296DST-STARTS and DST-ENDS are sexps in the variable `year' giving the daylight 296DST-STARTS and DST-ENDS are sexps in the variable `year' giving the daylight
297 savings time start and end rules, in the form expected by 297 saving time start and end rules, in the form expected by
298 `calendar-daylight-savings-starts'. 298 `calendar-daylight-savings-starts'.
299DST-STARTS-TIME and DST-ENDS-TIME are integers giving the number of minutes 299DST-STARTS-TIME and DST-ENDS-TIME are integers giving the number of minutes
300 after midnight that daylight savings time starts and ends. 300 after midnight that daylight saving time starts and ends.
301 301
302If the local area does not use a seasonal time adjustment, STD-ZONE and 302If the local area does not use a seasonal time adjustment, STD-ZONE and
303DST-ZONE are equal, and all the DST-* integer variables are 0. 303DST-ZONE are equal, and all the DST-* integer variables are 0.
@@ -308,7 +308,7 @@ it can't find."
308 (unless calendar-current-time-zone-cache 308 (unless calendar-current-time-zone-cache
309 (setq calendar-current-time-zone-cache (calendar-dst-find-data)))) 309 (setq calendar-current-time-zone-cache (calendar-dst-find-data))))
310 310
311;;; The following eight defvars relating to daylight savings time should NOT be 311;;; The following eight defvars relating to daylight saving time should NOT be
312;;; marked to go into loaddefs.el where they would be evaluated when Emacs is 312;;; marked to go into loaddefs.el where they would be evaluated when Emacs is
313;;; dumped. These variables' appropriate values depend on the conditions under 313;;; dumped. These variables' appropriate values depend on the conditions under
314;;; which the code is INVOKED; so it's inappropriate to initialize them when 314;;; which the code is INVOKED; so it's inappropriate to initialize them when
@@ -324,9 +324,9 @@ example, -300 for New York City, -480 for Los Angeles.")
324 324
325(defvar calendar-daylight-time-offset 325(defvar calendar-daylight-time-offset
326 (or (car (cdr calendar-current-time-zone-cache)) 60) 326 (or (car (cdr calendar-current-time-zone-cache)) 60)
327 "*Number of minutes difference between daylight savings and standard time. 327 "*Number of minutes difference between daylight saving and standard time.
328 328
329If the locale never uses daylight savings time, set this to 0.") 329If the locale never uses daylight saving time, set this to 0.")
330 330
331(defvar calendar-standard-time-zone-name 331(defvar calendar-standard-time-zone-name
332 (or (car (nthcdr 2 calendar-current-time-zone-cache)) "EST") 332 (or (car (nthcdr 2 calendar-current-time-zone-cache)) "EST")
@@ -335,12 +335,12 @@ For example, \"EST\" in New York City, \"PST\" for Los Angeles.")
335 335
336(defvar calendar-daylight-time-zone-name 336(defvar calendar-daylight-time-zone-name
337 (or (car (nthcdr 3 calendar-current-time-zone-cache)) "EDT") 337 (or (car (nthcdr 3 calendar-current-time-zone-cache)) "EDT")
338 "*Abbreviated name of daylight-savings time zone at `calendar-location-name'. 338 "*Abbreviated name of daylight saving time zone at `calendar-location-name'.
339For example, \"EDT\" in New York City, \"PDT\" for Los Angeles.") 339For example, \"EDT\" in New York City, \"PDT\" for Los Angeles.")
340 340
341 341
342(defun calendar-dst-starts (year) 342(defun calendar-dst-starts (year)
343 "Return the date of YEAR on which Daylight Saving Time starts. 343 "Return the date of YEAR on which daylight saving time starts.
344This function respects the value of `calendar-dst-check-each-year-flag'." 344This function respects the value of `calendar-dst-check-each-year-flag'."
345 (or (let ((expr (if calendar-dst-check-each-year-flag 345 (or (let ((expr (if calendar-dst-check-each-year-flag
346 (cadr (calendar-dst-find-startend year)) 346 (cadr (calendar-dst-find-startend year))
@@ -351,7 +351,7 @@ This function respects the value of `calendar-dst-check-each-year-flag'."
351 (calendar-nth-named-day 2 0 3 year)))) 351 (calendar-nth-named-day 2 0 3 year))))
352 352
353(defun calendar-dst-ends (year) 353(defun calendar-dst-ends (year)
354 "Return the date of YEAR on which Daylight Saving Time ends. 354 "Return the date of YEAR on which daylight saving time ends.
355This function respects the value of `calendar-dst-check-each-year-flag'." 355This function respects the value of `calendar-dst-check-each-year-flag'."
356 (or (let ((expr (if calendar-dst-check-each-year-flag 356 (or (let ((expr (if calendar-dst-check-each-year-flag
357 (nth 2 (calendar-dst-find-startend year)) 357 (nth 2 (calendar-dst-find-startend year))
@@ -366,13 +366,13 @@ This function respects the value of `calendar-dst-check-each-year-flag'."
366(put 'calendar-daylight-savings-starts 'risky-local-variable t) 366(put 'calendar-daylight-savings-starts 'risky-local-variable t)
367(defvar calendar-daylight-savings-starts 367(defvar calendar-daylight-savings-starts
368 '(calendar-dst-starts year) 368 '(calendar-dst-starts year)
369 "*Sexp giving the date on which daylight savings time starts. 369 "*Sexp giving the date on which daylight saving time starts.
370This is an expression in the variable `year' whose value gives the Gregorian 370This is an expression in the variable `year' whose value gives the Gregorian
371date in the form (month day year) on which daylight savings time starts. It is 371date in the form (month day year) on which daylight saving time starts. It is
372used to determine the starting date of daylight savings time for the holiday 372used to determine the starting date of daylight saving time for the holiday
373list and for correcting times of day in the solar and lunar calculations. 373list and for correcting times of day in the solar and lunar calculations.
374 374
375For example, if daylight savings time is mandated to start on October 1, 375For example, if daylight saving time is mandated to start on October 1,
376you would set `calendar-daylight-savings-starts' to 376you would set `calendar-daylight-savings-starts' to
377 377
378 '(10 1 year) 378 '(10 1 year)
@@ -381,35 +381,35 @@ If it starts on the first Sunday in April, you would set it to
381 381
382 '(calendar-nth-named-day 1 0 4 year) 382 '(calendar-nth-named-day 1 0 4 year)
383 383
384If the locale never uses daylight savings time, set this to nil.") 384If the locale never uses daylight saving time, set this to nil.")
385 385
386;;;###autoload 386;;;###autoload
387(put 'calendar-daylight-savings-ends 'risky-local-variable t) 387(put 'calendar-daylight-savings-ends 'risky-local-variable t)
388(defvar calendar-daylight-savings-ends 388(defvar calendar-daylight-savings-ends
389 '(calendar-dst-ends year) 389 '(calendar-dst-ends year)
390 "*Sexp giving the date on which daylight savings time ends. 390 "*Sexp giving the date on which daylight saving time ends.
391This is an expression in the variable `year' whose value gives the Gregorian 391This is an expression in the variable `year' whose value gives the Gregorian
392date in the form (month day year) on which daylight savings time ends. It is 392date in the form (month day year) on which daylight saving time ends. It is
393used to determine the starting date of daylight savings time for the holiday 393used to determine the starting date of daylight saving time for the holiday
394list and for correcting times of day in the solar and lunar calculations. 394list and for correcting times of day in the solar and lunar calculations.
395 395
396For example, if daylight savings time ends on the last Sunday in October: 396For example, if daylight saving time ends on the last Sunday in October:
397 397
398 '(calendar-nth-named-day -1 0 10 year) 398 '(calendar-nth-named-day -1 0 10 year)
399 399
400If the locale never uses daylight savings time, set this to nil.") 400If the locale never uses daylight saving time, set this to nil.")
401 401
402(defvar calendar-daylight-savings-starts-time 402(defvar calendar-daylight-savings-starts-time
403 (or (car (nthcdr 6 calendar-current-time-zone-cache)) 120) 403 (or (car (nthcdr 6 calendar-current-time-zone-cache)) 120)
404 "*Number of minutes after midnight that daylight savings time starts.") 404 "*Number of minutes after midnight that daylight saving time starts.")
405 405
406(defvar calendar-daylight-savings-ends-time 406(defvar calendar-daylight-savings-ends-time
407 (or (car (nthcdr 7 calendar-current-time-zone-cache)) 407 (or (car (nthcdr 7 calendar-current-time-zone-cache))
408 calendar-daylight-savings-starts-time) 408 calendar-daylight-savings-starts-time)
409 "*Number of minutes after midnight that daylight savings time ends.") 409 "*Number of minutes after midnight that daylight saving time ends.")
410 410
411(defun dst-in-effect (date) 411(defun dst-in-effect (date)
412 "True if on absolute DATE daylight savings time is in effect. 412 "True if on absolute DATE daylight saving time is in effect.
413Fractional part of DATE is local standard time of day." 413Fractional part of DATE is local standard time of day."
414 (let* ((year (extract-calendar-year 414 (let* ((year (extract-calendar-year
415 (calendar-gregorian-from-absolute (floor date)))) 415 (calendar-gregorian-from-absolute (floor date))))
@@ -438,10 +438,10 @@ adjusted for `zone'; here `date' is a list (month day year), `adj-time' is a
438decimal fraction time, and `zone' is a string. 438decimal fraction time, and `zone' is a string.
439 439
440Optional parameter STYLE forces the result time to be standard time when its 440Optional parameter STYLE forces the result time to be standard time when its
441value is 'standard and daylight savings time (if available) when its value is 441value is 'standard and daylight saving time (if available) when its value is
442'daylight. 442'daylight.
443 443
444Conversion to daylight savings time is done according to 444Conversion to daylight saving time is done according to
445`calendar-daylight-savings-starts', `calendar-daylight-savings-ends', 445`calendar-daylight-savings-starts', `calendar-daylight-savings-ends',
446`calendar-daylight-savings-starts-time', 446`calendar-daylight-savings-starts-time',
447`calendar-daylight-savings-ends-time', and 447`calendar-daylight-savings-ends-time', and