This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Updated: emacs*-24.2.90-1 (TEST)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]