Mercurial > hg > xemacs-beta
diff src/editfns.c @ 5685:aa5f38ecb804
Accept GNU's UNIVERSAL argument to #'format-time-string.
src/ChangeLog addition:
2012-09-16 Aidan Kehoe <kehoea@parhasard.net>
* editfns.c (Fformat_time_string):
Accept GNU's UNIVERSAL argument, which means we call gmtime()
instead of localtime(). Thanks for the report of org-mode
incompatibility, Matsl!
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 16 Sep 2012 21:43:21 +0100 |
parents | 56144c8593a8 |
children | 427a72c6ee17 |
line wrap: on
line diff
--- a/src/editfns.c Sat Sep 08 16:33:48 2012 +0100 +++ b/src/editfns.c Sun Sep 16 21:43:21 2012 +0100 @@ -998,11 +998,13 @@ static long difftm (const struct tm *a, const struct tm *b); -DEFUN ("format-time-string", Fformat_time_string, 1, 2, 0, /* +DEFUN ("format-time-string", Fformat_time_string, 1, 3, 0, /* Use FORMAT-STRING to format the time TIME. TIME is specified as (HIGH LOW . IGNORED) or (HIGH . LOW), as from `current-time' and `file-attributes'. If TIME is not specified it defaults to the current time. +The third, optional, argument UNIVERSAL, if non-nil, means describe TIME +as Universal Time; nil means describe TIME in the local time zone. FORMAT-STRING may contain %-sequences to substitute parts of the time. %a is replaced by the abbreviated name of the day of week. %A is replaced by the full name of the day of week. @@ -1047,7 +1049,7 @@ The number of options reflects the `strftime' function. */ - (format_string, time_)) + (format_string, time_, universal)) { time_t value; Bytecount size; @@ -1065,7 +1067,7 @@ Extbyte *buf = alloca_extbytes (size); Extbyte *formext; /* make a copy of the static buffer returned by localtime() */ - struct tm tm = *localtime (&value); + struct tm tm = NILP (universal) ? *localtime (&value) : *gmtime (&value); *buf = 1;