unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [Emacs-diffs] master updated (3c586e1 -> 0bbf00c)
@ 2016-09-16  7:07 Eli Zaretskii
  2016-09-16  7:58 ` Paul Eggert
  0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2016-09-16  7:07 UTC (permalink / raw)
  To: Paul Eggert; +Cc: emacs-devel

This commit causes compilation warnings in the MinGW build:

  In file included from w32notify.c:88:0:
  ./config.h:1773:0: warning: "__USE_MINGW_ANSI_STDIO" redefined
   #define __USE_MINGW_ANSI_STDIO 1
   ^
  In file included from d:\usr\include\errno.h:15:0,
		   from ../lib/errno.h:27,
		   from w32notify.c:85:
  d:\usr\include\_mingw.h:282:0: note: this is the location of the previous definition
   #  define __USE_MINGW_ANSI_STDIO    (__MINGW_FEATURES__ & __MINGW_ANSI_STDIO__)
   ^

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?), let's define this in nt/inc/ms-w32.h, where
we can do that in a way that prevents the above redefinition.

Thanks.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Emacs-diffs] master updated (3c586e1 -> 0bbf00c)
  2016-09-16  7:07 [Emacs-diffs] master updated (3c586e1 -> 0bbf00c) Eli Zaretskii
@ 2016-09-16  7:58 ` Paul Eggert
  2016-09-16  8:32   ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Eggert @ 2016-09-16  7:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Gnulib bugs, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 826 bytes --]

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.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Update-from-gnulib.patch --]
[-- Type: text/x-diff; name="0001-Update-from-gnulib.patch", Size: 1607 bytes --]

From e95f7f74203d165bbaec8f5cf29ecc7758b974f0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Emacs-diffs] master updated (3c586e1 -> 0bbf00c)
  2016-09-16  7:58 ` Paul Eggert
@ 2016-09-16  8:32   ` Eli Zaretskii
  0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2016-09-16  8:32 UTC (permalink / raw)
  To: Paul Eggert; +Cc: bug-gnulib, emacs-devel

> Cc: emacs-devel@gnu.org, Gnulib bugs <bug-gnulib@gnu.org>
> From: Paul Eggert <eggert@cs.ucla.edu>
> Date: Fri, 16 Sep 2016 00:58:04 -0700
> 
> > 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.

Ah, okay.  My interpretation of that is that we don't need to define
that symbol, as long as there's no specific reason why we should do
so.  When we decide to use it, it should be defined in nt/inc/ms-w32.h
before _mingw.h is included.

> 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.

Thanks, the warnings are gone.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-16  8:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-16  7:07 [Emacs-diffs] master updated (3c586e1 -> 0bbf00c) Eli Zaretskii
2016-09-16  7:58 ` Paul Eggert
2016-09-16  8:32   ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).