Hello Groups,
I am asking for your help on another problem in XEmacs on Windows NT
native:
fstat and stat seem wrong on Windows NT. XEmacs tries to work around
the stat problem by implementing its own version. It does however use
the equally buggy fstat version of Windows NT.
This creates the issue that .el files appear newer than their .elc
files (created while DST was on) after DST is switches off.
Inside
DEFUN ("load-internal", Fload_internal, 1, 6, 0, /*
in lread.c the .elc file is fstat'ed with NT's native
implementation while the .el file is stat'ed with XEmacs's stat
implementation.
perl (This is perl, version 5.005_03 built for MSWin32-x86) gives the
same results as the Windows NT compatibility function stat.
Here's what I see:
My computer is in the MET-1MDT timezone. I have not explicitely set
env. var. TZ in the experiments below, but that did not help when I
tried.
With system date "nov 8 1999" I create a file called "winter".
I switch the system date to "oct 8 1999" and create "summer".
Now I get different time_t values for their modification time both in
perl and Windows NT functions fstat/stat, depending on the current
date of the computer:
With computer date "oct 8 1999":
d:\Users\AichnerAd\tz\summer
st_mtime: 939409806
gmtime Fri Oct 8 19:10:06 1999
localtime Fri Oct 8 21:10:06 1999
d:\Users\AichnerAd\tz\winter
st_mtime: 942095185
gmtime Mon Nov 8 21:06:25 1999
localtime Mon Nov 8 22:06:25 1999
With computer date "nov 8 1999":
d:\Users\AichnerAd\tz\summer
st_mtime: 939406206
gmtime Fri Oct 8 18:10:06 1999
localtime Fri Oct 8 20:10:06 1999
d:\Users\AichnerAd\tz\winter
st_mtime: 942091585
gmtime Mon Nov 8 20:06:25 1999
localtime Mon Nov 8 21:06:25 1999
I am happy with the distances between GMT (=UTC) and localtime, which
are 2 hours in summer, 1 hour in winter (for MidEuropeanTime).
However, the supposedly absolute modification time of a file changes
with the current computer date setting (see st_mtime: ...) above.
Please confirm that this is actually a Windows NT bug!
FileTimeToLocalFileTime has this bothering remark, that a FILETIME
will be adjusted according to the current DST status, not according to
the file's time. Yuck!
Could the knowledgable please comment?
Currently I suppose the fix is to also encapsulate fstat in XEmacs
Windows NT native. Any suggestions?
Best regards,
Adrian
Show replies by date