Updated: emacs*-24.2.90-1 (TEST)

Ken Brown kbrown@cornell.edu
Fri Dec 7 03:14:00 GMT 2012


On 12/6/2012 4:25 PM, Daniel Colascione wrote:
> Thanks for highlighting the issue.
>
> On 12/6/12 1:00 PM, Ken Brown wrote:
>> On 12/6/2012 1:47 PM, Achim Gratz wrote:
>>> Ken Brown writes:
>>>> emacs-w32 shouldn't require dbus-daemon, as far as I know.  This
>>>> sounds like a bug.  Could you give me a specific recipe for
>>>> reproducing the problem?
>>>
>>> Just make sure Cygwin has cleanly terminated, then open a mintty (I use
>>> tcsh if that has a bearing on this bug) and start emacs-w32 from it.
>>> Toggle the menu bar if it's not already on an select File->Open from
>>> it.
>>> Open another mintty and try to kill the hanging emacs process from it.
>
> Works fine for me, albeit using kill -9, not regular kill. What
> exactly do you see? According to a message upthread, Emacs hangs hard
> any time you try to open a dialog box. Can you please attach gdb to
> Emacs when it's in this state and get a backtrace?
>
> If these problems persist, my first instinct would be to not support
> dbus in cygw32 builds of Emacs. People mostly use dbus to integrate
> components of a Unixish desktop environment, and I imagine users of
> cygw32 want to use Cygwin Emacs as part of a Windowsish desktop
> environment, which uses USER32 facilities to do what other
> environments do with dbus.

D-Bus support is not the issue.  Even emacs-nox supports D-Bus, and it 
has done so for more than 2 years.  In other words, you can use all the 
features of dbus.el if you want.

The issue here is completely different.  It's that something in the 
cygw32 build of emacs is making emacs think it *needs* a D-Bus daemon, 
even though the user has not tried to use dbus.el, and even though the 
cygw32 build should work without a D-Bus daemon.

And I've just discovered what that something is:  After the cygw32 build 
is configured, HAVE_GSETTINGS and HAVE_GCONF are defined to be 1 in 
src/config.h (assuming you have the relevant -devel packages installed). 
  And GSettings and GConf are Glib features that require a D-Bus daemon.

A workaround is to add the configure options --without-gsettings and 
--without-gconf, but that shouldn't be necessary.  If the --with-w32 
option is given, then configure shouldn't even be checking for GSettings 
and GConf.  Can you fix this?  I thought the following patch would fix 
it, but it doesn't:

=== modified file 'configure.ac'
--- configure.ac        2012-12-05 04:05:57 +0000
+++ configure.ac        2012-12-07 03:02:33 +0000
@@ -1603,6 +1603,8 @@
  if test "${HAVE_W32}" = "yes"; then
    window_system=w32
    with_xft=no
+  with_gsettings=no
+  with_gconf=no
  fi

  ## $window_system is now set to the window system we will

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list