diff options
| author | Paul Eggert | 2014-11-16 20:38:15 -0800 |
|---|---|---|
| committer | Paul Eggert | 2014-11-16 20:41:22 -0800 |
| commit | 0921dbc3ab4dcc6b291ef45e46a24b322bbcb885 (patch) | |
| tree | 0e320978c7d30af415bb7de6e0b8f6735a3ca3d1 /src/ChangeLog | |
| parent | 058f56d24f776bdc25bcac86fe1f8969a78374e9 (diff) | |
| download | emacs-0921dbc3ab4dcc6b291ef45e46a24b322bbcb885.tar.gz emacs-0921dbc3ab4dcc6b291ef45e46a24b322bbcb885.zip | |
Improve time stamp handling, and be more consistent about it.
This implements a suggestion made in:
http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00587.html
Among other things, this means timer.el no longer needs to
autoload the time-date module.
* doc/lispref/os.texi (Time of Day, Time Conversion, Time Parsing)
(Processor Run Time, Time Calculations):
Document the new behavior, plus be clearer about the old behavior.
(Idle Timers): Take advantage of new functionality.
* etc/NEWS: Document the changes.
* lisp/allout-widgets.el (allout-elapsed-time-seconds): Doc fix.
* lisp/arc-mode.el (archive-ar-summarize):
* lisp/calendar/time-date.el (seconds-to-time, days-to-time, time-since):
* lisp/emacs-lisp/timer.el (timer-relative-time, timer-event-handler)
(run-at-time, with-timeout-suspend, with-timeout-unsuspend):
* lisp/net/tramp.el (tramp-time-less-p, tramp-time-subtract):
* lisp/proced.el (proced-time-lessp):
* lisp/timezone.el (timezone-time-from-absolute):
* lisp/type-break.el (type-break-schedule, type-break-time-sum):
Simplify by using new functionality.
* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
Do not return time values in obsolete and undocumented (HI . LO)
format; use (HI LO) instead.
* lisp/calendar/time-date.el (with-decoded-time-value):
Treat 'nil' as current time. This is mostly for XEmacs.
(encode-time-value, with-decoded-time-value): Obsolete.
(time-add, time-subtract, time-less-p): Use no-op autoloads, for
XEmacs. Define only if XEmacs, as they're now C builtins in Emacs.
* lisp/ldefs-boot.el: Update to match new time-date.el
* lisp/proced.el: Do not require time-date.
* src/editfns.c (invalid_time): New function.
Use it instead of 'error ("Invalid time specification")'.
(time_add, time_subtract, time_arith, Ftime_add, Ftime_less_p)
(decode_float_time, lisp_to_timespec, lisp_time_struct):
New functions.
(make_time_tail, make_time): Remove. All uses changed to use
new functions or plain list4i.
(disassemble_lisp_time): Return effective length if successful.
Check that LOW is an integer, if it's combined with other components.
(decode_time_components): Decode into struct lisp_time, not
struct timespec, so that we can support a wide set of times
regardless of whether time_t is signed. Decode plain numbers
as seconds since the Epoch, and nil as the current time.
(lisp_time_argument, lisp_seconds_argument, Ffloat_time):
Reimplement in terms of new functions.
(Fencode_time): Just use list2i.
(syms_of_editfns): Add time-add, time-subtract, time-less-p.
* src/keyboard.c (decode_timer): Don't allow the new formats (floating
point or nil) in timers.
* src/systime.h (LO_TIME_BITS): New constant. Use it everywhere in
place of the magic number '16'.
(struct lisp_time): New type.
(decode_time_components): Use it.
(lisp_to_timespec): New decl.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d1888987dbc..b169479a274 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2014-11-17 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Improve time stamp handling, and be more consistent about it. | ||
| 4 | * editfns.c (invalid_time): New function. | ||
| 5 | Use it instead of 'error ("Invalid time specification")'. | ||
| 6 | (time_add, time_subtract, time_arith, Ftime_add, Ftime_less_p) | ||
| 7 | (decode_float_time, lisp_to_timespec, lisp_time_struct): | ||
| 8 | New functions. | ||
| 9 | (make_time_tail, make_time): Remove. All uses changed to use | ||
| 10 | new functions or plain list4i. | ||
| 11 | (disassemble_lisp_time): Return effective length if successful. | ||
| 12 | Check that LOW is an integer, if it's combined with other components. | ||
| 13 | (decode_time_components): Decode into struct lisp_time, not | ||
| 14 | struct timespec, so that we can support a wide set of times | ||
| 15 | regardless of whether time_t is signed. Decode plain numbers | ||
| 16 | as seconds since the Epoch, and nil as the current time. | ||
| 17 | (lisp_time_argument, lisp_seconds_argument, Ffloat_time): | ||
| 18 | Reimplement in terms of new functions. | ||
| 19 | (Fencode_time): Just use list2i. | ||
| 20 | (syms_of_editfns): Add time-add, time-subtract, time-less-p. | ||
| 21 | * keyboard.c (decode_timer): Don't allow the new formats (floating | ||
| 22 | point or nil) in timers. | ||
| 23 | * systime.h (LO_TIME_BITS): New constant. Use it everywhere in | ||
| 24 | place of the magic number '16'. | ||
| 25 | (struct lisp_time): New type. | ||
| 26 | (decode_time_components): Use it. | ||
| 27 | (lisp_to_timespec): New decl. | ||
| 28 | |||
| 1 | 2014-11-16 Lars Magne Ingebrigtsen <larsi@gnus.org> | 29 | 2014-11-16 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 30 | ||
| 3 | * intervals.h (INTERVAL_WRITABLE_P): Check the `inhibit-read-only' | 31 | * intervals.h (INTERVAL_WRITABLE_P): Check the `inhibit-read-only' |