master 53e564eebb6: Insulate doc against N. American timezone changes
Paul Eggert <[email protected]> Thu, 23 Jul 2026 14:35:39 -0400 (EDT)
| Newsgroups | gmane.emacs.diffs |
|---|---|
| Message-ID | <[email protected]> |
branch: master commit 53e564eebb64e8a2816bc038dff7b9fbc22a7b8c Author: Paul Eggert <[email protected]> Commit: Paul Eggert <[email protected]> Insulate doc against N. American timezone changes Recent changes to the meaning of "Pacific Time" in western Canada, along with possible broader changes to US timekeeping in the US Sunshine Protection bill (H.R. 139), make it advisable to avoid using examples like "PST" in Emacs documentation as these abbreviations are too likely to be ambiguous. Use more-stable abbreviations like "IST" and "JST". --- doc/lispref/os.texi | 9 +++++---- doc/misc/calc.texi | 12 ++++++------ lisp/erc/erc-stamp.el | 2 +- lisp/gnus/nndiary.el | 3 ++- lisp/time-stamp.el | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 59e0fe90a46..fb2a481c7a3 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1534,9 +1534,10 @@ in. The value has the form @code{(@var{offset} @var{abbr})}. Here @var{offset} is an integer giving the number of seconds ahead of Universal Time (east of Greenwich). A negative value means west of Greenwich. The -second element, @var{abbr}, is a string giving an abbreviation for the -time zone, e.g., @samp{"CST"} for China Standard Time or for -U.S. Central Standard Time. Both elements can change when daylight +second element, @var{abbr}, is a string giving a possibly-ambiguous +abbreviation for the time zone, e.g., @samp{"IST"} for India Standard +Time, Irish Standard Time, or Israel Standard Time. +Both elements can change when daylight saving time begins or ends; if the user has specified a time zone that does not use a seasonal time adjustment, then the value is constant through time. @@ -1981,7 +1982,7 @@ This stands for the year without century (00--99). @item %Y This stands for the year with century. @item %Z -This stands for the time zone abbreviation (e.g., @samp{EST}). +This stands for the time zone abbreviation (e.g., @samp{IST}). @item %z This stands for the time zone numerical offset. The @samp{z} can be preceded by one, two, or three colons; if plain @samp{%z} stands for diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 72690e8d286..636b024d50c 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -17367,8 +17367,8 @@ and @kbd{t U}, the normal argument is then taken from the second-to-top stack position.) This allows you to give a non-integer time zone adjustment. The time-zone argument can also be an HMS form, or it can be a variable which is a time zone name in upper- or lower-case. -For example @samp{tzone(PST) = tzone(8)} and @samp{tzone(pdt) = tzone(7)} -(for Pacific standard and daylight saving times, respectively). +For example @samp{tzone(JST) = tzone(-9)} and @samp{tzone(gmt) = tzone(0)} +(for Japan standard and Greenwich mean time, respectively). North American and European time zone names are defined as follows. These names are obsolescent and new code should not rely on them: @@ -17399,13 +17399,13 @@ To define time zone names that do not appear in the above table, you must modify the Lisp variable @code{math-tzone-names}. This is a list of lists describing the different time zone names; its structure is best explained by an example. The three entries for -circa-2025 US Pacific Time look like this: +circa-2026 time in Sydney, Australia might look like this: @smallexample @group -( ( "PST" 8 0 ) ; Name as an upper-case string, then standard - ( "PDT" 8 -1 ) ; adjustment, then daylight saving adjustment. - ( "PGT" 8 "PST" "PDT" ) ) ; Generalized time zone. +(("AEST" -10 0) ; Name as an upper-case string, then standard + ("AEDT" -10 -1) ; adjustment, then daylight saving adjustment. + ("AEGT" -10 "AEST" "AEDT")) ; Generalized time zone. @end group @end smallexample diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el index f80d49ca343..00644c2c997 100644 --- a/lisp/erc/erc-stamp.el +++ b/lisp/erc/erc-stamp.el @@ -150,7 +150,7 @@ This string specifies the format of the timestamp being echoed in the minibuffer." :type '(choice (const :tag "Timestamped Monday, 15:04:05" "Timestamped %A, %H:%M:%S") - (const :tag "2006-01-02 15:04:05 MST" "%F %T %Z") + (const :tag "2026-07-21 15:04:05 JST" "%F %T %Z") string)) (defcustom erc-echo-timestamp-zone nil diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index eef00938453..8c7f815652f 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el @@ -345,7 +345,8 @@ all. This may very well take some time.") ;; The list of time zone values is obsolescent, and new code should ;; not rely on it. Many of the time zone abbreviations are wrong; ;; in particular, all single-letter abbreviations other than "Z" have - ;; been wrong since Internet RFC 2822 (2001). However, the + ;; been wrong since Internet RFC 2822 (2001), and abbreviations like "PST" + ;; do not match current practice in some locations. However, the ;; abbreviations have not been changed due to backward compatibility ;; concerns. ) diff --git a/lisp/time-stamp.el b/lisp/time-stamp.el index df5acfa629a..d2bb7acc470 100644 --- a/lisp/time-stamp.el +++ b/lisp/time-stamp.el @@ -57,7 +57,7 @@ with %, which are converted as follows: %S seconds %w day number of week, Sunday is 0 %Y 4-digit year %y 2-digit year -%Z time zone name: `EST' +%Z time zone name: `JST' %-z zone offset with hour: `-08' %:::z adds colons as needed: `+05:30' %5z zone offset with mins: `-0800' %:z adds colon: `-08:00'