Eli Zaretskii wrote:
I don't like the idea that Gnulib should dictate whether Emacs uses
this MinGW feature or not.  If there are good reasons for that (can
you tell what they are?),

Setting __USE_MINGW_ANSI_STDIO is part of Gnulib's usual desire to support a GNU-like environment even on non-GNU hosts.

Formerly, defining __USE_MINGW_ANSI_STDIO to 1 was done by AC_USE_SYSTEM_EXTENSIONS (defined in m4/extensions.m4), but as this is not really a system extension I recently moved that definition to gl_STDIO_H (defined in m4/stdio_h.m4). When I did this I used a simple AC_DEFINE to 1, as I assumed this would suffice. Evidently it does not work for Emacs, so I just now adjusted the moved version in Emacs master (and in Gnulib) to look more like the original, as per the attached Emacs patch.
From e95f7f74203d165bbaec8f5cf29ecc7758b974f0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Fri, 16 Sep 2016 00:55:40 -0700
Subject: [PATCH] Update from gnulib

This incorporates:
2016-09-16 extensions: fix typo in comment
2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
* m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
---
 m4/extensions.m4 |  2 +-
 m4/stdio_h.m4    | 10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/m4/extensions.m4 b/m4/extensions.m4
index 3a556b1..e114a6f 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,4 +1,4 @@
-# serial 14  -*- Autoconf -*-
+# serial 15  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
 # Copyright (C) 2003, 2006-2016 Free Software Foundation, Inc.
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 5149981..eaa25a0 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,4 +1,4 @@
-# stdio_h.m4 serial 47
+# stdio_h.m4 serial 48
 dnl Copyright (C) 2007-2016 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -6,7 +6,13 @@
 
 AC_DEFUN([gl_STDIO_H],
 [
-  AC_DEFINE([__USE_MINGW_ANSI_STDIO], 1, [Use GNU style printf and scanf.])
+  AH_VERBATIM([MINGW_ANSI_STDIO],
+[/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# undef __USE_MINGW_ANSI_STDIO
+#endif
+])
+  AC_DEFINE([__USE_MINGW_ANSI_STDIO])
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   gl_NEXT_HEADERS([stdio.h])
 
-- 
2.7.4

Reply via email to