Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
5919:2800105fcc9f | 5920:0f2338afbabf |
---|---|
1 Brute-forced a set of changes which allowed | |
2 make unicode-encapsulate | |
3 to work | |
4 1) Patched make-mswin-unicode.pl to match macros with pointer return types; | |
5 2) Updated intl-encap-win32.c to deal with | |
6 a) added functions; | |
7 b) refactoring of w32api include files. | |
8 | |
9 Renamed DEVICE_TYPE to DEVICE_TYPE_X in device-impl.h and everywhere | |
10 it is used to avoid collision with DEVICE_TYPE in winioctl.h | |
11 | |
12 Minimal fixes to get to compile wrt int vs. intptr_t in | |
13 event-msw.c | |
14 | |
15 event-msw.c:67:3: error: #error Something is wrong -- you are neither | |
16 Windows native (possibly MinGW) nor Cygwin. # error Something is | |
17 wrong -- you are neither Windows native (possibly MinGW) nor Cygwin. | |
18 | |
19 Ah, need a more up-to-date config.{sub,guess}, got one from somewhere | |
20 dated timestamp='2013-06-10' | |
21 | |
22 Copy src/s/cygwin32.h to cygwin64.h and src/m/intel386.h to x86_64.h | |
23 | |
24 And a configure.ac which recognises cygwin64 | |
25 | |
26 Remove cygwin_conv_to_posix_path from lib-src/gnuclient.c | |
27 | |
28 Replace calls to qxeGetWindowLong(... GWL_..) with | |
29 qxeGetWindowLongPtr(... GWLP_...) (w. LONG_PTR result if used) | |
30 after re-making unicode-encapsulate | |
31 And one LONG l = qxeGetWindowLong (hwnd, XWL_FRAMEOBJ) to LONG_PTR l = qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ) | |
32 | |
33 Ah, several bugs in new header files in w32api, required some | |
34 additions to wfun_re in make-mswin-unicode.pl | |
35 | |
36 That's enough to get event-msw.c to compile, although there are some | |
37 size-related warnings. | |
38 | |
39 similar problem in frame-msw.c: | |
40 qxeSetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HICON | |
41 | |
42 and in glyphs-msw.c: | |
43 qxeGetWindowLong | |
44 (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), | |
45 GWL_HINSTANCE), | |
46 | |
47 and scrollbar-msw.c | |
48 also | |
49 (void *) opaque = | |
50 (void *)qxeGetWindowLong (SCROLLBAR_MSW_HANDLE (sb), GWL_USERDATA); | |
51 | |
52 LONG_PTR opaque = | |
53 qxeGetWindowLongPtr (SCROLLBAR_MSW_HANDLE (sb), GWLP_USERDATA); | |
54 | |
55 and dialog-msw.c:197:31: error: ‘DWL_USER’ undeclared (first use in this function) | |
56 qxeSetWindowLong (hwnd, DWL_USER, l_param); | |
57 | |
58 Compiles all the way through, links OK, temacs runs! | |
59 Build completes | |
60 xemacs -nw works | |
61 but xemacs as such does not: | |
62 > ./xemacs | |
63 Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created) |