[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19799: Tangentally related to eww-mode Invalid Date bug just filed
From: |
Matthew Carter |
Subject: |
bug#19799: Tangentally related to eww-mode Invalid Date bug just filed |
Date: |
Sun, 08 Feb 2015 15:25:23 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Paul Eggert <eggert@cs.ucla.edu> writes:
>> Would it be better to rework #'date-to-time to handle future dates in a
>> more graceful manner on 32-bit machines, or to have eww-mode ignore
>> triggers that cause it to parse dates it cannot handle?
>
> There is a variant of date-to-time that refuses to throw an error on
> out-of-range dates, namely safe-date-to-time. But I'm still puzzled
> as to why you're getting this error. date-to-time is supposed to
> throw a "Specified time is not representable" for out-of-range dates,
> but for you it's throwing some other error. Can you debug why that is
> happening?
>
> What happens when you run the following in your *scratch* buffer?
>
> (date-to-time "Mon, 06 Mar 2130 20:55:03 GMT")
>
> On my platform (Fedora 21 x86) if I type C-j after that, the debugger
> is entered with this backtrace:
>
> Debugger entered--Lisp error: (error . "Specified time is not representable")
> signal(error "Specified time is not representable")
> apply(signal (error "Specified time is not representable"))
> (if (equal err overflow-error) (apply (quote signal) err) (condition-case
> err$
> (let ((overflow-error (quote (error "Specified time is not
> representable"))))$
> (condition-case err (apply (quote encode-time) (parse-time-string date))
> (err$
> date-to-time("Mon, 06 Mar 2130 20:55:03 GMT")
> ...
>
> What happens on your platform?
>
> Also, what is your platform? What does (emacs-version) return, for starters?
>
This is on an i686 machine - the eval returns:
Debugger entered--Lisp error: (error "Invalid date: Mon, 06 Mar 2130 20:55:03
GMT")
signal(error ("Invalid date: Mon, 06 Mar 2130 20:55:03 GMT"))
error("Invalid date: %s" "Mon, 06 Mar 2130 20:55:03 GMT")
byte-code("\300\301\302\217\207" [nil (byte-code "\301\302\303\304^H!!\"\207"
[date apply encode-time parse-time-string time$
date-to-time("Mon, 06 Mar 2130 20:55:03 GMT")
eval((date-to-time "Mon, 06 Mar 2130 20:55:03 GMT") nil)
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp(nil)
call-interactively(eval-print-last-sexp nil nil)
command-execute(eval-print-last-sexp)
The version is:
GNU Emacs 24.4.1 (i686-pc-linux-gnu, GTK+ Version 3.14.7) of 2015-01-17 on
bisson
Anything up to 2038 will work without issue. I had read OpenBSD fixed
the 2038 date issue using 'long long int' instead of 'time_t' for dates
in the codebase on 32 bit machines.
I think eww-mode should not fail to load subsequent pages though, even
if a cookie date is bad (bad cookies should not halt further page
requests), so maybe eww-mode just needs to catch the thrown error?
--
Matthew Carter (m@ahungry.com)
http://ahungry.com