Subject: Re: *default-time-zone* Defaults

From: [email-masked] (Joerg-Cyril Hoehle)
Date: Wed, 2 Feb 94 14:55:11 +0100

Bruno Haible writes:
 > Joerg, pardonne-moi l'Anglais, c'est pour que Marcus me comprenne aussi.
No problem :-)

 > Maybe. I am planning a file timezone.lsp which will be used for non-Unix
 > systems.
A good idea, but it looks to me more like there's a need for
timezone.d. OS-level calls need to be made there. See below:

 > Second, the Unix solution: The functions localtime() and gmtime() return
Thus let UNIX use these.

 > Atari (TOS): There is no user-accessible environment at all. People set
 >   their clock to local time and adjust it twice a year for DST.
 >   ==> must assume the system's time is local time, and calculate GMT from
 >   that. defs1.lsp or timezone.lsp or cfg*.lsp must contain the timezone.
 > 
 > DOS: Very similar: There is an environment, but most users set their
 >   clock to local time because
 >   - the DATE and TIME commands are expected to print local time,
 >   - only a minority of the programs react on the TIMEZONE environment variable.

 > Amiga: I assume the same as for Atari. Joerg?

There's a user-accessible environment since the 1.3 version of the
operating system, with (per process) local variables since 2.0, but
both have nothing to do with the handling of the time zone. However
some programs ported from UNIX read a TZ environment variable. There's
a notion of a timezone since 2.1, but I'll have to check for DST. The
time returned by the function CLISP uses by now is the local time,
like with DOS and Atari.

The fact that there's operating system dependent support for a time
zone requires the existence of a C function.

I think that the solution is to add a UNIX-like SYS::default-time-zone
call to the amiga version. It will get the OS timezone in newer
versions of the OS and return the contents of *default-time-zone* when
running under older versions of the OS.

 	Joerg Hoehle.
[email-masked]