byte-code: Invalid date: 10-Mar-2046 09:53:43.00 GMT
Closed this issue · 3 comments
futurist commented
首次查词没问题, 后续查词出现提示:
Contacting host: fanyi.youdao.com:80
byte-code: Invalid date: 10-Mar-2046 09:53:43.00 GMT [4 times]
无法查询了
xuchunyang commented
好像是老版本 Emacs 的一个 bug,与 #1 是相同的问题,在 #1 (comment) 中提到了一个解决办法。
futurist commented
最近又遇到这个问题, 查了下原来是 y2038 problem
#1 提到的方法如果cookies大于2038年会返回nil, 我自己重新写了下 url-cookie-expired-p
使大于2038年的cookies返回t
如下:
(require-package 'youdao-dictionary)
;; FIX y2038 problem on 32bit PC
;; after load url-cookie.el, replace this func to avoid y2038 problem
(eval-after-load 'url-cookie
'(defun url-cookie-expired-p (cookie)
"Return non-nil if COOKIE is expired."
(let ((exp (url-cookie-expires cookie)) year)
(and (> (length exp) 0)
(string-match "\\([1-9][0-9]\\{3\\}\\)" exp)
(setq year (match-string 1 exp))
(if (and year (setq year (string-to-number year)) (>= year 2038)) t
(> (float-time) (float-time (date-to-time exp))))
))))
xuchunyang commented
好像之前遇到类似的问题 [1],都是在 32 位系统下才产生的。