Implement cygw32
authorDaniel Colascione <dancol@dancol.org>
Mon, 17 Sep 2012 11:55:02 +0000 (03:55 -0800)
committerDaniel Colascione <dancol@dancol.org>
Mon, 17 Sep 2012 11:55:02 +0000 (03:55 -0800)
commit0fda9b750e337d876c9461db7d4426a3f0b81482
tree1e1659bfa590cd8375c564c6fb5c3bafa65e06c0
parent8b33967313f09a736a833816d32fd52e10640969
Implement cygw32

Here, we use the generic window-system configuration system we just
implemented to support the w32 window-system in the mainline build
under Cygwin.  (Previously, the w32 window system could only be
compiled as part of the NT-native Emacs build process.)

The changes in this patch need to be applied atomically in order to
avoid breaking Emacs.  The changes include:

  - Changes throughout the Lisp and C code to not assume that
      NT Emacs and the w32 window system are synonymous.

  - Wiring up the regular select(2) event loop to Windows messages

  - Cleaning up the w32 drag-and-drop receiving code.

  - Exposing Cygwin path conversion functions to elisp.

  - Unicode file dialog support when compiling for Cygwin.

  - Splitting the w32 term lisp initialization code into code
    applicable to any w32 window-system and code specific to
    system-type windows-nt.

  - Integrating the old and new w32 code into the build system.
45 files changed:
configure.ac
lisp/battery.el
lisp/faces.el
lisp/frame.el
lisp/international/mule-cmds.el
lisp/loadup.el
lisp/mouse.el
lisp/simple.el
lisp/term/common-win.el
lisp/term/w32-win.el
lisp/w32-fns.el
lisp/w32-vars.el
src/Makefile.in
src/conf_post.h
src/dispextern.h
src/emacs.c
src/font.c
src/font.h
src/fontset.c
src/frame.c
src/frame.h
src/image.c
src/keyboard.c
src/keyboard.h
src/menu.c
src/process.c
src/termhooks.h
src/unexw32.c
src/w32.c
src/w32.h
src/w32console.c
src/w32fns.c
src/w32font.c
src/w32heap.c
src/w32inevt.c
src/w32menu.c
src/w32proc.c
src/w32select.c
src/w32term.c
src/w32term.h
src/w32xfns.c
src/window.c
src/xdisp.c
src/xfaces.c
src/xterm.h