Mercurial > gnulib
changeset 38531:affdef0af079
utimens: port to Emacs + MS-Windows
Skip the new MS-Windows-specific code if Emacs.
* lib/utimens.c [EMACS_CONFIGUATION]:
Avoid new MS-Windows-specific code.
(USE_SETFILETIME): New macro.
(fdutimens): Use it.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 02 May 2017 00:40:41 -0700 |
parents | d209db99ac8f |
children | 65a32cc6cc23 |
files | ChangeLog lib/utimens.c |
diffstat | 2 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon May 01 18:00:56 2017 -0700 +++ b/ChangeLog Tue May 02 00:40:41 2017 -0700 @@ -1,3 +1,12 @@ +2017-05-02 Paul Eggert <eggert@cs.ucla.edu> + + utimens: port to Emacs + MS-Windows + Skip the new MS-Windows-specific code if Emacs. + * lib/utimens.c [EMACS_CONFIGUATION]: + Avoid new MS-Windows-specific code. + (USE_SETFILETIME): New macro. + (fdutimens): Use it. + 2017-05-01 Paul Eggert <eggert@cs.ucla.edu> tzset: update doc for TZ problems on MS-Windows
--- a/lib/utimens.c Mon May 01 18:00:56 2017 -0700 +++ b/lib/utimens.c Tue May 02 00:40:41 2017 -0700 @@ -35,7 +35,13 @@ #include "stat-time.h" #include "timespec.h" -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +/* On native Windows, use SetFileTime; but avoid this when compiling + GNU Emacs, which arranges for this in some other way and which + defines WIN32_LEAN_AND_MEAN itself. */ + +#if ((defined _WIN32 || defined __WIN32__) \ + && ! defined __CYGWIN__ && ! defined EMACS_CONFIGURATION) +# define USE_SETFILETIME # define WIN32_LEAN_AND_MEAN # include <windows.h> # include "msvc-nothrow.h" @@ -277,7 +283,7 @@ lutimensat_works_really = -1; #endif /* HAVE_UTIMENSAT || HAVE_FUTIMENS */ -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +#ifdef USE_SETFILETIME /* On native Windows, use SetFileTime(). See <https://msdn.microsoft.com/en-us/library/ms724933.aspx> <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */