Mercurial > hg > xemacs-beta
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/notes.txt Mon Apr 21 11:42:50 2014 +0100 @@ -0,0 +1,63 @@ +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)