Thu 24 Nov 2016 06:42:34 AM UTC, original submission:
ENCODE-UNIVERSAL-TIME and DECODE-UNIVERSAL-TIME don't seem to like the year 1899, even if the corresponding universal time is, in fact, a nonnegative integer.
GCL (GNU Common Lisp) 2.6.12 ANSI Aug 12 2015 09:36:50
Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl)
Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
Temporary directory for compiler files set to /tmp/
>(decode-universal-time 0 8)
Correctable error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by DECODE-UNIVERSAL-TIME.
If continued: Check type again.
INTERNAL-SIMPLE-TYPE-ERROR: -28800 is not of type (INTEGER 0):
>(encode-universal-time 0 0 16 31 12 1899 8)
Correctable error:
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by ENCODE-UNIVERSAL-TIME.
If continued: Check type again.
INTERNAL-SIMPLE-TYPE-ERROR: 1899 is not of type (INTEGER 1900):
First one should return 0; 0; 16; 31; 12; 1899; 6; NIL; 8.
Second one should return 0.
I've read through the relevant sections of CLHS and although I see restrictions on universal time and timezone offset, I don't see a restriction on the year of a decoded time.
|