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)