According the the scsh manual, (date) is supposed to return the
current date in the local time zone. However, with some ifdef conditions
(e.g., in the Cygwin scsh-0.6.7-2 package), it only works that way the first time that
(date) is called. After that, it returns dates in the UTC timezone.
(define (show-date d)
(display (date:tz-name d))
(display " ")
(display (date:tz-secs d))
Using the Cygwin scsh-0.6.7-2 package, I get this incorrect output --
the two lines should be the same:
I uninstalled the Cygwin scsh package, and rebuilt scsh from source,
using the scsh-0.6.7.tar.gz tarball. I got the same incorrect
I remade scsh in a Fedora environment from the same tarball, and I got
So far, I haven't figured out why I get different results on Cygwin.
I did observe that, on Cygwin, different #ifdef compilation conditions
are used in compiling time1.c. When compiling on Cygwin, HAVE_TZNAME
is true and HAVE_STRUCT_TM_TM_ZONE is false. When compiling on
Fedora, the opposite is the case. I don't know if that is relevant to
my problem, but I thought I'd mention it for what it's worth.
Any suggestions will be much appreciated!