Mercurial > emacs
changeset 962:3533821d6edc
* editfns.c (Fcurrent_time_zone): Doc fix.
* editfns.c (Fcurrent_time_zone): Don't forget to include code to
signal an error when EMACS_CURRENT_TIME_ZONE is not defined.
* editfns.c (Fcurrent_time_zone): New function.
(syms_of_editfns): defsubr it.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Wed, 12 Aug 1992 13:46:12 +0000 |
parents | 8d2cbfd93066 |
children | 4441c4bcb376 |
files | src/editfns.c |
diffstat | 1 files changed, 38 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/editfns.c Wed Aug 12 13:41:17 1992 +0000 +++ b/src/editfns.c Wed Aug 12 13:46:12 1992 +0000 @@ -542,6 +542,43 @@ return build_string (buf); } + +DEFUN ("current-time-zone", Fcurrent_time_zone, Scurrent_time_zone, 0, 0, 0, + "Return the offset, savings state, and names for the current time zone.\n\ +This returns a list of the form (OFFSET SAVINGS-FLAG STANDARD SAVINGS).\n\ +OFFSET is an integer specifying how many minutes east of Greenwich the\n\ + current time zone is located. A negative value means west of\n\ + Greenwich. Note that this describes the standard time; If daylight\n\ + savings time is in effect, it does not affect this value.\n\ +SAVINGS-FLAG is non-nil iff daylight savings time or some other sort\n\ + of seasonal time adjustment is in effect.\n\ +STANDARD is a string giving the name of the time zone when no seasonal\n\ + time adjustment is in effect.\n\ +SAVINGS is a string giving the name of the time zone when there is a\n\ + seasonal time adjustment in effect.\n\ +If the local area does not use a seasonal time adjustment,\n\ +SAVINGS-FLAG will always be nil, and STANDARD and SAVINGS will be the\n\ +same.") + () +{ +#ifdef EMACS_CURRENT_TIME_ZONE + int offset, savings_flag; + char standard[11]; + char savings[11]; + + EMACS_CURRENT_TIME_ZONE (&offset, &savings_flag, standard, savings); + + return Fcons (make_number (offset), + Fcons ((savings_flag ? Qt : Qnil), + Fcons (build_string (standard), + Fcons (build_string (savings), + Qnil)))); +#else + error + ("current-time-zone has not been implemented on this operating system."); +#endif +} + void insert1 (arg) @@ -1255,6 +1292,7 @@ defsubr (&Suser_full_name); defsubr (&Scurrent_time); defsubr (&Scurrent_time_string); + defsubr (&Scurrent_time_zone); defsubr (&Ssystem_name); defsubr (&Smessage); defsubr (&Sformat);