Subject: bug#32902: Add support for (TIMESTAMP . RESOLUTION) Lisp timestamps

From: Eli Zaretskii <[email-masked]>
Date: Wed, 10 Oct 2018 06:49:03 +0300

> Cc: [email-masked]
> From: Paul Eggert <[email-masked]>
> Date: Tue, 9 Oct 2018 13:15:57 -0700
> 
> >> Any of these would insulate the rest of Emacs from this glitch.
> > The last two are undesirable, since it is generally expected of a
> > single Windows binary to run on all supported systems; having 2
> > separate binaries is possible, but complicates the matters.
> 
> 
> Alternative (2) should also let a single binary run on all supported 
> MS-Windows systems, unless I'm misunderstanding something.

You are right, I wasn't paying attention.

> The idea is that Emacs proper uses 64-bit time_t and only a small
> part of w32*.c knows whether the MS-Windows API is using 32- or
> 64-bit time_t. Emacs could do this by using "#define time_t long
> long int" for most of Emacs, and having only the small part of
> w32*.c worry about the conversion.

Yes.  Not sure about the "small" part, though: time_t appears in many
libc functions ('stat' and 'fstat' come to mind), and we currently
still use most of the structures defined in system headers which
reference time_t values.

> Also, don't we already have 2 separate binaries, one for 32-bit and one 
> for 64-bit MS-Windows?

We do, but the 32-bit binaries are expected to run on 64-bit systems.
We cannot avoid having the separate 64-bit binaries, whereas the
additional 32-bit binaries are just a nuisance.  Note that at least
some of the support libraries might also need to be built twice, if
time_t is used in their interfaces, directly or indirectly.

> > Last time this came up, we decided not to drop support even for Windows 9X
> 
> It's your decision since you're the maintainer, and if you want to spend 
> time porting to obsolete operating systems it's your time to spend. That 
> being said, there's vanishingly little real-world need to run the *very 
> latest* version of GNU Emacs on Windows XP and earlier and for security 
> reasons if the documentation for the latest Emacs version discusses 
> these older machines it should be warning Emacs users to not connect 
> these machines to the Internet.

Well, my main development machine still runs XP, so for now this is a
real necessity ;-)