emacs/src
Daniel Colascione 0fda9b750e 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.
2012-09-17 03:55:02 -08:00
..
bitmaps Change bitmaps back to X11-compatible types. 2011-04-16 01:30:05 -07:00
.dbxinit
.gdbinit Avoid GDB 7.5 warnings about "set main" in src/.gdbinit. 2012-08-20 20:32:31 +03:00
.gitignore Ignore stamp-h.in 2012-08-05 23:44:21 +02:00
alloc.c Remove mark_ttys function and fix tty_display_info initialization. 2012-08-31 14:53:19 +04:00
atimer.c * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean. 2012-08-23 01:27:08 -07:00
atimer.h * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean. 2012-08-23 01:27:08 -07:00
autodeps.mk Remove src/prefix-args.c. 2010-07-07 20:31:04 -07:00
bidi.c * bidi.c: Use bool for boolean. 2012-08-23 13:31:52 -07:00
blockinput.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
buffer.c Do not allow to set major mode for a dead buffer. 2012-08-28 14:59:17 +04:00
buffer.h Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
bytecode.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
callint.c * bytecode.c, callint.c, callproc.c: Use bool for boolean. 2012-08-24 20:11:12 -07:00
callproc.c * bytecode.c, callint.c, callproc.c: Use bool for boolean. 2012-08-24 20:11:12 -07:00
casefiddle.c * casefiddle.c, casetab.c, category.c: Use bool for boolean. 2012-08-24 23:25:00 -07:00
casetab.c * casefiddle.c, casetab.c, category.c: Use bool for boolean. 2012-08-24 23:25:00 -07:00
category.c * casefiddle.c, casetab.c, category.c: Use bool for boolean. 2012-08-24 23:25:00 -07:00
category.h * casefiddle.c, casetab.c, category.c: Use bool for boolean. 2012-08-24 23:25:00 -07:00
ccl.c Cleanup xmalloc. 2012-07-05 10:32:41 +04:00
ccl.h Refactor window-system configuration 2012-08-31 22:38:52 -08:00
ChangeLog Prototype for x_wm_set_size_hint restored. 2012-09-02 12:53:46 +02:00
ChangeLog.1 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.2 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.3 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.4 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.5 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.6 Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
ChangeLog.7 Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
ChangeLog.8 Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
ChangeLog.9 Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ChangeLog.10 Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
ChangeLog.11 Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
character.c * character.c, charset.c, chartab.c: Use bool for booleans. 2012-08-26 01:41:36 -07:00
character.h * character.c, charset.c, chartab.c: Use bool for booleans. 2012-08-26 01:41:36 -07:00
charset.c * character.c, charset.c, chartab.c: Use bool for booleans. 2012-08-26 01:41:36 -07:00
charset.h * cmds.c, coding.c: Use bool for booleans. 2012-08-27 09:19:34 -07:00
chartab.c * character.c, charset.c, chartab.c: Use bool for booleans. 2012-08-26 01:41:36 -07:00
cm.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
cm.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
cmds.c * cmds.c, coding.c: Use bool for booleans. 2012-08-27 09:19:34 -07:00
coding.c Fix usage of set_buffer_internal. 2012-08-28 09:49:02 +04:00
coding.h * cmds.c, coding.c: Use bool for booleans. 2012-08-27 09:19:34 -07:00
commands.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
composite.c * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
composite.h * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
conf_post.h Implement cygw32 2012-09-17 03:55:02 -08:00
COPYING
data.c * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
dbusbind.c * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
deps.mk Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
dired.c * dispnew.c: Use bool for boolean. 2012-08-27 17:33:56 -07:00
dispextern.h Implement cygw32 2012-09-17 03:55:02 -08:00
dispnew.c Refactor window-system configuration 2012-08-31 22:38:52 -08:00
disptab.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
doc.c * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
doprnt.c Use ASCII tests for character types. 2012-08-16 14:58:44 -07:00
dosfns.c * frame.h (FSET): Remove (Bug#12215). 2012-08-17 14:52:15 -07:00
dosfns.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
editfns.c * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
emacs-icon.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
emacs.c Implement cygw32 2012-09-17 03:55:02 -08:00
emacsgtkfixed.c Fix minor GTK3 problems found by static checking. 2012-04-23 00:34:29 -07:00
emacsgtkfixed.h Fix minor GTK3 problems found by static checking. 2012-04-23 00:34:29 -07:00
epaths.in Make --no-site-lisp work for --enable-locallisppath elements 2012-06-30 14:10:50 -07:00
eval.c Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca 2012-08-28 09:01:59 -07:00
fileio.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
filelock.c Remove unnecessary casts involving pointers. 2012-08-03 16:36:11 -07:00
firstfile.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
floatfns.c * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT. 2012-07-16 19:56:00 -07:00
fns.c Better seed support for (random). 2012-08-31 18:04:26 -07:00
font.c Implement cygw32 2012-09-17 03:55:02 -08:00
font.h Implement cygw32 2012-09-17 03:55:02 -08:00
fontset.c Implement cygw32 2012-09-17 03:55:02 -08:00
fontset.h Auto-generate EXFUN using make-docfile 2012-07-03 12:24:42 -06:00
frame.c Implement cygw32 2012-09-17 03:55:02 -08:00
frame.h Implement cygw32 2012-09-17 03:55:02 -08:00
fringe.c Drop WGET and revert read access to Lisp_Objects slots of struct window. 2012-08-07 11:33:18 +04:00
ftfont.c Simple wrapper for make_unibyte_string, adjust font_open_by_name. 2012-07-20 11:29:04 +04:00
ftfont.h Nuke arch-tags. 2011-01-15 15:16:57 -08:00
ftxfont.c More xmalloc and related cleanup. 2012-07-05 11:35:48 -07:00
getpagesize.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
gmalloc.c Adapt the MS-DOS build to the latest configury changes. 2012-07-14 13:08:14 +03:00
gnutls.c * process.h (PSET): Remove. 2012-08-17 19:49:24 -07:00
gnutls.h Merge 2012-04-09 GnuTLS fix from trunk 2012-04-10 16:00:43 +08:00
gtkutil.c * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it 2012-08-30 18:07:44 +02:00
gtkutil.h Prototype for x_wm_set_size_hint restored. 2012-09-02 12:53:46 +02:00
image.c Implement cygw32 2012-09-17 03:55:02 -08:00
indent.c * buffer.h (BSET): Remove. 2012-08-17 23:06:39 -07:00
indent.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
insdel.c * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
intervals.c * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
intervals.h * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
keyboard.c Implement cygw32 2012-09-17 03:55:02 -08:00
keyboard.h Implement cygw32 2012-09-17 03:55:02 -08:00
keymap.c * keymap.c (push_key_description): Print M-TAB as C-M-i. 2012-09-02 11:50:29 +08:00
keymap.h Auto-generate EXFUN using make-docfile 2012-07-03 12:24:42 -06:00
lastfile.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
lisp.h * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
lisp.mk Merge language/persian.el into language/misc-lang.el 2012-08-08 00:19:58 -07:00
lread.c init_lread fix for bug#12302 2012-08-29 20:47:33 -04:00
macros.c * keyboard.h (KSET): Remove. 2012-08-17 16:38:43 -07:00
macros.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
Makefile.in Implement cygw32 2012-09-17 03:55:02 -08:00
makefile.w32-in src/makefile.w32-in: Update dependencies. 2012-09-02 04:22:33 +02:00
marker.c Generalize marker debugging code under MARKER_DEBUG and use eassert. 2012-07-29 15:20:43 +04:00
mem-limits.h Fix export of symbols to GDB. 2012-07-26 11:35:50 -07:00
menu.c Implement cygw32 2012-09-17 03:55:02 -08:00
menu.h Add GCC-style 'const' attribute to functions that can use it. 2012-07-09 09:38:45 -07:00
minibuf.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
msdos.c Avoid direct writes to contents member of struct Lisp_Vector. 2012-08-21 14:21:04 +04:00
msdos.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
ndir.h Nuke arch-tags. 2011-01-15 15:16:57 -08:00
ns.mk Remove trailing / from $ns_appbindir 2012-05-12 11:10:37 -07:00
nsfns.m * keyboard.h (KSET): Remove. 2012-08-17 16:38:43 -07:00
nsfont.m * nsfont.m (ns_ascii_average_width): Ensure the string 2012-08-18 20:53:29 -04:00
nsgui.h Rename init_process rather than working around it on Darwin 2012-07-12 19:56:39 -04:00
nsimage.m Use ASCII tests for character types. 2012-08-16 14:58:44 -07:00
nsmenu.m Improve NS dialogs. Add close button, remove ugly casts. 2012-08-28 18:05:17 +02:00
nsselect.m Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. 2012-08-07 17:37:21 +04:00
nsterm.h Refactor window-system configuration 2012-08-31 22:38:52 -08:00
nsterm.m * nsterm.m (insertText:): Don't clear modifiers if code is space. 2012-08-22 11:55:35 +02:00
pre-crt0.c Nuke arch-tags. 2011-01-15 15:16:57 -08:00
print.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
process.c Implement cygw32 2012-09-17 03:55:02 -08:00
process.h * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
puresize.h Get rid of all the manual purecopy calls in menu-bar definitions. 2012-06-27 17:15:13 -04:00
ralloc.c Merge from emacs-24; up to 2012-05-04T19:17:01Z!monnier@iro.umontreal.ca 2012-08-28 09:01:59 -07:00
README Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
regex.c Use bool for Emacs Lisp booleans. 2012-08-14 10:45:25 -07:00
regex.h Assume C89 or later. 2012-05-21 08:36:54 -07:00
region-cache.c Fix bug #12196 with incorrect memory allocations for region-cache. 2012-08-15 19:21:41 +03:00
region-cache.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
scroll.c More xmalloc and related cleanup. 2012-07-05 11:35:48 -07:00
search.c * lisp.h (set_char_table_extras): Rename from char_table_set_extras. 2012-08-17 10:08:30 -07:00
sheap.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
sound.c Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
syntax.c * buffer.h (BSET): Remove. 2012-08-17 23:06:39 -07:00
syntax.h * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not MOST_POSITIVE_FIXNUM. 2012-04-09 16:21:20 -07:00
sysdep.c * sysdep.c (seed_random): Fix typo: HAV_LRAND48 -> HAVE_LRAND48. 2012-08-31 18:13:50 -07:00
sysselect.h Rename init_process rather than working around it on Darwin 2012-07-12 19:56:39 -04:00
syssignal.h Move NSIG_MINIMUM from src/s to configure 2012-07-12 21:19:06 -04:00
systime.h * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. 2012-09-02 00:10:10 -07:00
systty.h Tiny comment updates 2012-08-08 08:53:52 -07:00
syswait.h Port to Solaris 8. 2012-08-01 21:14:48 -07:00
term.c Remove mark_ttys function and fix tty_display_info initialization. 2012-08-31 14:53:19 +04:00
termcap.c More xmalloc and related cleanup. 2012-07-05 11:35:48 -07:00
termchar.h Add support for italic text on ttys. 2012-06-10 00:44:44 +08:00
termhooks.h Implement cygw32 2012-09-17 03:55:02 -08:00
terminal.c * termhooks.h (TSET): Remove. 2012-08-17 17:07:52 -07:00
terminfo.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
termopts.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
textprop.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
tparam.c Cleanup xmalloc. 2012-07-05 10:32:41 +04:00
tparam.h Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
undo.c Always use set_buffer_if_live to restore original buffer at unwind. 2012-08-28 10:20:08 +04:00
unexaix.c * unexaix.c, unexcoff.c: Include "mem-limits.h". 2012-08-19 13:02:24 -07:00
unexcoff.c * unexaix.c, unexcoff.c: Include "mem-limits.h". 2012-08-19 13:02:24 -07:00
unexcw.c Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
unexec.h * unexec.h: New file. 2011-03-16 17:03:31 -07:00
unexelf.c Assume C89 or later. 2012-05-21 08:36:54 -07:00
unexhp9k800.c Protoize 2011-07-10 10:20:10 +02:00
unexmacosx.c Merge from emacs-24; up to 2012-05-02T11:38:01Z!lekktu@gmail.com 2012-08-11 10:13:55 +08:00
unexsol.c * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline. 2012-06-16 14:24:15 +02:00
unexw32.c Implement cygw32 2012-09-17 03:55:02 -08:00
vm-limit.c Rely on <unistd.h> to declare 'environ', 2012-08-19 14:00:09 -07:00
w16select.c Cleanup xmalloc. 2012-07-05 10:32:41 +04:00
w32.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32.h Implement cygw32 2012-09-17 03:55:02 -08:00
w32console.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32fns.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32font.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32font.h Refactor window-system configuration 2012-08-31 22:38:52 -08:00
w32gui.h Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
w32heap.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32heap.h Rename OS_WINDOWS_95 to OS_9X. 2012-07-29 19:22:27 +03:00
w32inevt.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32inevt.h Don't use the abbreviation "win" to refer to Windows (Bug#10421). 2012-07-29 01:18:29 -07:00
w32menu.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32proc.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32reg.c Cleanup xmalloc. 2012-07-05 10:32:41 +04:00
w32select.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32term.c Implement cygw32 2012-09-17 03:55:02 -08:00
w32term.h Implement cygw32 2012-09-17 03:55:02 -08:00
w32uniscribe.c Further fix for bug #11860 with Arabic display on Windows. 2012-09-01 16:54:27 +03:00
w32xfns.c Implement cygw32 2012-09-17 03:55:02 -08:00
widget.c Simplify by avoiding confusing use of strncpy etc. 2012-07-10 14:48:34 -07:00
widget.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
widgetprv.h Add 2012 to FSF copyright years for Emacs files (do not merge to trunk) 2012-01-10 23:52:35 -08:00
window.c Implement cygw32 2012-09-17 03:55:02 -08:00
window.h Remove unused external symbols. 2012-08-26 03:04:27 -07:00
xdisp.c Implement cygw32 2012-09-17 03:55:02 -08:00
xfaces.c Implement cygw32 2012-09-17 03:55:02 -08:00
xfns.c * buffer.h (BSET): Remove. 2012-08-17 23:06:39 -07:00
xfont.c Avoid direct writes to contents member of struct Lisp_Vector. 2012-08-21 14:21:04 +04:00
xftfont.c * gtkutil.c (xg_get_font): Demand an Xft font. 2012-08-16 14:57:48 +08:00
xgselect.c * xgselect.c (xg_select): Use auto storage for the GPollFD buffer 2012-08-25 13:31:04 -07:00
xgselect.h * xgselect.c (xg_select): Use auto storage for the GPollFD buffer 2012-08-25 13:31:04 -07:00
xmenu.c * frame.h (FSET): Remove (Bug#12215). 2012-08-17 14:52:15 -07:00
xml.c * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline. 2012-06-16 14:24:15 +02:00
xrdb.c More xmalloc and related cleanup. 2012-07-05 11:35:48 -07:00
xselect.c * termhooks.h (TSET): Remove. 2012-08-17 17:07:52 -07:00
xsettings.c Use empty_unibyte_string where applicable. 2012-07-12 07:45:46 +04:00
xsettings.h Auto-generate EXFUN using make-docfile 2012-07-03 12:24:42 -06:00
xsmfns.c * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans. 2012-08-27 10:23:48 -07:00
xterm.c * xgselect.c (xg_select): Use auto storage for the GPollFD buffer 2012-08-25 13:31:04 -07:00
xterm.h Implement cygw32 2012-09-17 03:55:02 -08:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Copyright (C) 2001-2012  Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs (on Unix systems) is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

Under GNU and Unix systems, the file `Makefile.in' is used as a
template by the script `../configure' to produce `Makefile'.  This
is the file which actually controls the compilation of Emacs.
All of this should work transparently to the user; you should only
need to run `../configure', and then type `make'.


This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.