Don't mishandle year-9999 dates.
commit308cc448e5d6ffd44c7ff366a99d34bbfb0e8c4d
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 3 Aug 2014 15:38:52 +0000 (3 08:38 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 3 Aug 2014 15:38:52 +0000 (3 08:38 -0700)
tree04e83c1f35b94135a52711a5934e752fffea5c3d
parent8f88f7d3c5da38cd2d781770b533dc6c93c52d59
Don't mishandle year-9999 dates.

* lisp/calendar/parse-time.el (parse-time-rules):
Allow years up to most-positive-fixnum.
* lisp/calendar/time-date.el (date-to-time):
Pass "Specified time is not representable" errors through.
* lisp/url/url-cookie.el (url-cookie-expired-p): Treat out-of-range
expiration dates as if they were far in the future.
* src/editfns.c (decode_time_components): Store an invalid timespec
on overflow, instead of returning false, so that the caller can
distinguish overflow from other errors.
(lisp_time_argument, lisp_seconds_argument): If the time is out
of range, signal a time overflow instead of an invalid time spec.
* src/keyboard.c (decode_timer): Treat time overflow like other
timespec errors.

Fixes: debbugs:18176
lisp/ChangeLog
lisp/calendar/parse-time.el
lisp/calendar/time-date.el
lisp/url/ChangeLog
lisp/url/url-cookie.el
src/ChangeLog
src/editfns.c
src/keyboard.c