Mercurial > hg > xemacs-beta
view notes.txt @ 5920:0f2338afbabf cygwin
Minimum necessary to get started:
sufficient to compile OK, run -nw, but not with window
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Mon, 21 Apr 2014 11:42:50 +0100 |
parents | |
children | 68639fb08af8 |
line wrap: on
line source
Brute-forced a set of changes which allowed make unicode-encapsulate to work 1) Patched make-mswin-unicode.pl to match macros with pointer return types; 2) Updated intl-encap-win32.c to deal with a) added functions; b) refactoring of w32api include files. Renamed DEVICE_TYPE to DEVICE_TYPE_X in device-impl.h and everywhere it is used to avoid collision with DEVICE_TYPE in winioctl.h Minimal fixes to get to compile wrt int vs. intptr_t in event-msw.c event-msw.c:67:3: error: #error Something is wrong -- you are neither Windows native (possibly MinGW) nor Cygwin. # error Something is wrong -- you are neither Windows native (possibly MinGW) nor Cygwin. Ah, need a more up-to-date config.{sub,guess}, got one from somewhere dated timestamp='2013-06-10' Copy src/s/cygwin32.h to cygwin64.h and src/m/intel386.h to x86_64.h And a configure.ac which recognises cygwin64 Remove cygwin_conv_to_posix_path from lib-src/gnuclient.c Replace calls to qxeGetWindowLong(... GWL_..) with qxeGetWindowLongPtr(... GWLP_...) (w. LONG_PTR result if used) after re-making unicode-encapsulate And one LONG l = qxeGetWindowLong (hwnd, XWL_FRAMEOBJ) to LONG_PTR l = qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ) Ah, several bugs in new header files in w32api, required some additions to wfun_re in make-mswin-unicode.pl That's enough to get event-msw.c to compile, although there are some size-related warnings. similar problem in frame-msw.c: qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HICON and in glyphs-msw.c: qxeGetWindowLong (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), GWL_HINSTANCE), and scrollbar-msw.c also (void *) opaque = (void *)qxeGetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA); LONG_PTR opaque = qxeGetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA); and dialog-msw.c:197:31: error: ‘DWL_USER’ undeclared (first use in this function) qxeSetWindowLong (hwnd, DWL_USER, l_param); Compiles all the way through, links OK, temacs runs! Build completes xemacs -nw works but xemacs as such does not: > ./xemacs Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created)