emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows mingw64 and cygwin builds broken


From: Andy Moreton
Subject: Re: Windows mingw64 and cygwin builds broken
Date: Fri, 13 Nov 2015 02:11:36 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5.50 (windows-nt)

On Thu 12 Nov 2015, Andy Moreton wrote:

> On Thu 12 Nov 2015, Eli Zaretskii wrote:
>
>>> From: Andy Moreton <address@hidden>
>>> Date: Thu, 12 Nov 2015 20:06:51 +0000
>>> 
>>> Changes in commit 9d43941569fc broke the Windows builds.
>>
>> Thanks, I tried to fix those problems in c1bc6e5.

> make[2]: Leaving directory 
> '/cygdrive/c/emacs/git/emacs/master/obj-cygwin64-w32/lisp'
> ./temacs --batch --load loadup bootstrap
>
> /cygdrive/c/emacs/git/emacs/master/src/lread.c:3787: Emacs fatal error: 
> assertion failed: INTEGERP (bucket)
> Fatal error 6: Aborted: paxctl -zex emacs.exe
> mv -f emacs.exe bootstrap-emacs.exe
> mv: cannot stat ‘emacs.exe’: No such file or directory
> Makefile:707: recipe for target 'bootstrap-emacs.exe' failed

This appears to be caused by a clash between symbols:

./dbusbind.c:1704:  DEFSYM (QCdbus_timeout, ":timeout");
./w32fns.c:9302:  DEFSYM (QCtimeout, ":timeout");

Renaming QCdbus_timeout to QCtimeout allows the cygwin-w32 and mingw64
builds to bootstrap successfully (I don't know if that is the right
fix though). Should the other keyword argument symbols in dbusbind.c
also be renamed QCdbus_* -> QC* ?

Here's a minimal working patch:

diff --git a/src/dbusbind.c b/src/dbusbind.c
index ce0465dcb8b9..d3ace51cf1eb 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -1405,7 +1405,7 @@ usage: (dbus-message-internal &rest REST)  */)
     }
 
   /* Check for timeout parameter.  */
-  if ((count+2 <= nargs) && (EQ ((args[count]), QCdbus_timeout)))
+  if ((count+2 <= nargs) && (EQ ((args[count]), QCtimeout)))
     {
       CHECK_NATNUM (args[count+1]);
       timeout = min (XFASTINT (args[count+1]), INT_MAX);
@@ -1701,7 +1701,7 @@ syms_of_dbusbind (void)
   DEFSYM (QCdbus_session_bus, ":session");
 
   /* Lisp symbol for method call timeout.  */
-  DEFSYM (QCdbus_timeout, ":timeout");
+  DEFSYM (QCtimeout, ":timeout");
 
   /* Lisp symbols of D-Bus types.  */
   DEFSYM (QCdbus_type_byte, ":byte");
diff --git a/src/w32fns.c b/src/w32fns.c
index b71002f8bfc9..07102e477245 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -9635,8 +9635,10 @@ This variable has effect only on Windows Vista and 
later.  */);
   defsubr (&Sw32_window_exists_p);
   defsubr (&Sw32_battery_status);
   defsubr (&Sw32__menu_bar_in_use);
+#ifndef CYGWIN
   defsubr (&Sw32_notification_notify);
   defsubr (&Sw32_notification_close);
+#endif
 
 #ifdef WINDOWSNT
   defsubr (&Sfile_system_info);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]