> Comments?
>
> --
> Sam Steingold, running RedHat5 GNU/Linux (http://www.linux.org)
For the Allegro case (at least) your signature line says it all: RedHat
5.
Acl 4.3 has problems running under Red Hat 5.0. RH5 uses a new
C library (glibc) whereas Acl uses the old C library and the
backward compatibility offered old C library users is not complete.
Thus Acl is given the wrong value for the time zone by the C library
and thus it gives you the wrong answer for encode-universal-time.
Your test case works correctly in Acl 4.3 on Red Hat 4.
john foderaro
franz inc.
this is an unwarranted conclusion. what you observe is all in agreement
with the specification. your failure to supply a time zone is a problem
in your usage of these functions. a full time specification contains the
universal time _and_ the timezone. human conveniences regarding the
ability to default various parts of our information because it is
recoverable from context does not go well with computers. remember the
mistakes that have caused the Year 2000 hysteria with people who forgot
to tell the computer about their assumptions?
the only valid gripe here is that the various Lisps do not work well with
the underlying operating system's ideas about time zones and daylight
savings time, but this is also an extremely annoying problem. as far as
I know, all four Lisps refuse to use the Unix timezone system provided by
the (Unix) vendor, and get most of the more recent developments wrong.
with _no_ way to provide additional time zone information, such as to
update the obnoxious "daylight savings time" switch-over dates, which is,
of all things, subject to _political_ randomness, we're basically out of
luck with the correct time of day in Lisp.
| I read CLHS and I think CLISP is correct (I am located in Princeton, NJ,
| USA).
if you know where you are, why don't you tell your Lisp where you are,
instead of just telling us? :)
despite what I said above, most Lisps have a way to let them know what
the default timezone should be. in Allegro CL (always for Unix), it is
EXCL::*TIME-ZONE*. this is also set by EXCL::INIT-TIME-ZONE, which takes
an argument like "EST5EDT".
Allegro CL 4.3 and above seems to understand the local time zones when
built and dumped locally, however.
| Note that each implementation returns its own encode-universal-time, and
| each has a different idea about the current time zone.
well, the two _are_ very closely related, so what do you expect? :)
they shouldn't differ in the value from GET-UNIVERSAL-TIME, however.
#:Erik
--
religious cult update in light of new scientific discoveries:
"when we cannot go to the comet, the comet must come to us."