mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-16 09:50:25 +00:00
89c63b3522
This replaces the awkward reuse of encode-time to both convert calendrical timestamps to Lisp timestamps, and to convert Lisp timestamps to other forms. Now, encode-time does just the former and the new function does just the latter. The new function builds on a suggestion by Lars Ingebrigtsen in: https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html and refined by Stefan Monnier in: https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html * doc/lispref/os.texi (Time of Day, Time Conversion): * doc/misc/emacs-mime.texi (time-date): * etc/NEWS: Update documentation. * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition): * lisp/calendar/time-date.el (seconds-to-time, days-to-time): * lisp/calendar/timeclock.el (timeclock-seconds-to-time): * lisp/cedet/ede/detect.el (ede-detect-qtest): * lisp/completion.el (cmpl-hours-since-origin): * lisp/ecomplete.el (ecomplete-add-item): * lisp/emacs-lisp/cl-extra.el (cl--random-time): * lisp/emacs-lisp/timer.el (timer--time-setter) (timer-next-integral-multiple-of-time): * lisp/find-lisp.el (find-lisp-format-time): * lisp/gnus/gnus-diary.el (gnus-user-format-function-d): * lisp/gnus/gnus-group.el (gnus-group-set-timestamp): * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda): * lisp/gnus/nnrss.el (nnrss-normalize-date): * lisp/gnus/nnspool.el (nnspool-request-newgroups): * lisp/net/ntlm.el (ntlm-compute-timestamp): * lisp/net/pop3.el (pop3-uidl-dele): * lisp/obsolete/vc-arch.el (vc-arch-add-tagline): * lisp/org/org-clock.el (org-clock-get-clocked-time) (org-clock-resolve, org-resolve-clocks, org-clock-in) (org-clock-out, org-clock-sum): * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36): * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src): * lisp/proced.el (proced-format-time): * lisp/progmodes/cc-cmds.el (c-progress-init) (c-progress-update): * lisp/progmodes/cperl-mode.el (cperl-time-fontification): * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe): * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info) (vhdl-fix-case-region-1): * lisp/tar-mode.el (tar-octal-time): * lisp/time.el (emacs-uptime): * lisp/url/url-auth.el (url-digest-auth-make-cnonce): * lisp/url/url-util.el (url-lazy-message): * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): * lisp/vc/vc-hg.el (vc-hg-state-fast): * lisp/xt-mouse.el (xterm-mouse-event): * test/lisp/emacs-lisp/timer-tests.el: (timer-next-integral-multiple-of-time-2): Use time-convert, not encode-time. * lisp/calendar/icalendar.el (icalendar--decode-isodatetime): Don’t use now-removed FORM argument for encode-time. It wasn’t crucial anyway. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert. * lisp/emacs-lisp/elint.el (elint-unknown-builtin-args): Update encode-time signature to match current arg set. * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time): Use timer-convert with t rather than doing it by hand. * src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp): Remove; no longer needed. (decode_lisp_time): Rturn the form instead of having a *PFORM arg. All uses changed. (time_arith): Just return TICKS if HZ is 1. (Fencode_time): Remove argument FORM. All callers changed. Do not attempt to encode time values; just encode decoded (calendrical) times. Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1. (Ftime_convert): New function, which does the time value conversion that bleeding-edge encode-time formerly did. Return TIME if it is easy to see that it is already of the correct form. (Fcurrent_time): Mention in doc that the form is planned to change. * test/src/timefns-tests.el (decode-then-encode-time): Don’t use (encode-time nil). |
||
---|---|---|
.. | ||
bookmark-resources | ||
calc | ||
calendar | ||
custom-resources | ||
emacs-lisp | ||
emulation | ||
erc | ||
eshell | ||
gnus | ||
image | ||
international | ||
net | ||
nxml | ||
org | ||
play | ||
progmodes | ||
so-long-tests | ||
term | ||
textmodes | ||
url | ||
vc | ||
abbrev-tests.el | ||
arc-mode-tests.el | ||
auth-source-pass-tests.el | ||
auth-source-tests.el | ||
autoinsert-tests.el | ||
autorevert-tests.el | ||
bookmark-tests.el | ||
buff-menu-tests.el | ||
button-tests.el | ||
char-fold-tests.el | ||
color-tests.el | ||
comint-tests.el | ||
custom-tests.el | ||
dabbrev-tests.el | ||
delim-col-tests.el | ||
descr-text-tests.el | ||
dired-aux-tests.el | ||
dired-tests.el | ||
dired-x-tests.el | ||
dom-tests.el | ||
electric-tests.el | ||
epg-tests.el | ||
faces-tests.el | ||
ffap-tests.el | ||
filenotify-tests.el | ||
files-tests.el | ||
files-x-tests.el | ||
font-lock-tests.el | ||
format-spec-tests.el | ||
help-fns-tests.el | ||
hi-lock-tests.el | ||
htmlfontify-tests.el | ||
ibuffer-tests.el | ||
ido-tests.el | ||
image-file-tests.el | ||
image-tests.el | ||
imenu-tests.el | ||
info-xref-tests.el | ||
isearch-tests.el | ||
jit-lock-tests.el | ||
json-tests.el | ||
jsonrpc-tests.el | ||
kmacro-tests.el | ||
ls-lisp-tests.el | ||
makesum-tests.el | ||
man-tests.el | ||
md4-tests.el | ||
minibuffer-tests.el | ||
mouse-tests.el | ||
obarray-tests.el | ||
paren-tests.el | ||
password-cache-tests.el | ||
ps-print-tests.el | ||
register-tests.el | ||
replace-tests.el | ||
rot13-tests.el | ||
scroll-lock-tests.el | ||
ses-tests.el | ||
shadowfile-tests.el | ||
shell-tests.el | ||
simple-tests.el | ||
sort-tests.el | ||
soundex-tests.el | ||
subr-tests.el | ||
tabify-tests.el | ||
tar-mode-tests.el | ||
tempo-tests.el | ||
term-tests.el | ||
thingatpt-tests.el | ||
thread-tests.el | ||
time-stamp-tests.el | ||
timezone-tests.el | ||
wdired-tests.el | ||
whitespace-tests.el | ||
wid-edit-tests.el | ||
xdg-tests.el | ||
xml-tests.el | ||
xt-mouse-tests.el |