Mercurial > hg > xemacs-beta
comparison notes.txt @ 5921:68639fb08af8 cygwin
no obvious 64 vs. 32 pblms in compilation, but still crashing in event-msw
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Wed, 23 Apr 2014 22:22:37 +0100 |
parents | 0f2338afbabf |
children | 518bf1108435 |
comparison
equal
deleted
inserted
replaced
5920:0f2338afbabf | 5921:68639fb08af8 |
---|---|
59 Build completes | 59 Build completes |
60 xemacs -nw works | 60 xemacs -nw works |
61 but xemacs as such does not: | 61 but xemacs as such does not: |
62 > ./xemacs | 62 > ./xemacs |
63 Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created) | 63 Fatal error: assertion failed, file event-msw.c, line 4149, !NILP (Vmswindows_frame_being_created) |
64 -------------- | |
65 console-msw.c:116:3: warning: format '%ld' expects argument of type | |
66 'long int', but argument 3 has type 'DWORD' [-Wformat=] | |
67 resolution: cast the DWORDs to long | |
68 ---- | |
69 event-msw.c: In function 'mswindows_wnd_proc': | |
70 event-msw.c:2741:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
71 ((LCID) GetKeyboardLayout (0) & 0xFFFF), | |
72 cast to intptr_t first | |
73 | |
74 event-msw.c:2825:50: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
75 virtual_key = qxeMapVirtualKeyEx (scan, 1, (HKL) lcid); | |
76 cast to intptr_t first | |
77 ^ | |
78 event-msw.c:2839:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
79 (HKL) lcid); | |
80 ^ ditto | |
81 | |
82 event-msw.c:2861:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
83 (HKL) lcid); | |
84 ^ ditto | |
85 | |
86 [I _really_ don't understand the size hacking going on between LCIDs | |
87 and HKLs here!] | |
88 event-msw.c: In function 'emacs_mswindows_remove_timeout': | |
89 event-msw.c:4200:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
90 (void *) id, MECR_DEALLOCATE_EVENT); | |
91 ^ | |
92 This is a hack!!! Use intptr_t instead, still a hack. | |
93 | |
94 | |
95 frame-msw.c: In function ‘mswindows_init_frame_1’: | |
96 frame-msw.c:274:41: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
97 qxeSetWindowLong (hwnd, XWL_FRAMEOBJ, (LONG)STORE_LISP_IN_VOID (frame_obj)); | |
98 intptr_t | |
99 | |
100 frame-msw.c: In function ‘mswindows_get_mouse_position’: | |
101 frame-msw.c:554:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
102 *frame = GET_LISP_FROM_VOID ((void *) qxeGetWindowLong (hwnd, XWL_FRAMEOBJ)); | |
103 qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ | |
104 | |
105 frame-msw.c: In function ‘mswindows_get_frame_parent’: | |
106 frame-msw.c:822:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
107 parent = GET_LISP_FROM_VOID ((void *) qxeGetWindowLong (hwnd, XWL_FRAMEOBJ)); | |
108 ditto | |
109 | |
110 glyphs-msw.c: In function 'mswindows_widget_instantiate': | |
111 glyphs-msw.c:2261:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
112 (HMENU)id, /* No menu */ | |
113 intptr_t id = -1; | |
114 | |
115 menubar-msw.c: In function 'empty_menu': | |
116 menubar-msw.c:98:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
117 #define EMPTY_ITEM_ID ((UINT)STORE_LISP_IN_VOID (Qunbound)) | |
118 menubar-msw.c:181:49: note: in expansion of macro 'EMPTY_ITEM_ID' | |
119 qxeAppendMenu (menu, MF_STRING | MF_GRAYED, EMPTY_ITEM_ID, | |
120 resolved:#define EMPTY_ITEM_ID ((UINT)STORE_LISP_IN_VOID (Qunbound)) | |
121 intptr_t | |
122 | |
123 dialog-msw.c:764:9: warning: passing argument 4 of 'qxeCreateDialogIndirectParam' from incompatible pointer type [enabled by default] | |
124 (LPARAM) STORE_LISP_IN_VOID (obj)); | |
125 ^ | |
126 intptr_t | |
127 | |
128 toolbar-msw.c: In function 'mswindows_clear_toolbar': | |
129 toolbar-msw.c:100:55: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
130 qxeSendMessage (toolbarwnd, TB_GETIMAGELIST, 0, (LONG) &ilist); | |
131 ^ | |
132 intptr_t | |
133 toolbar-msw.c: In function 'mswindows_output_toolbar': | |
134 toolbar-msw.c:370:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
135 (HMENU)(TOOLBAR_ID_BIAS + pos), | |
136 ^ | |
137 (intptr_t) | |
138 In file included from mule-coding.c:32:0: | |
139 mule-coding.c: In function 'parse_charset_conversion_specs': | |
140 | |
141 win32.c: In function 'mswindows_lisp_error_1': | |
142 win32.c:259:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'DWORD' [-Wformat=] | |
143 errnum, GetLastError ()); | |
144 ^ | |
145 (long) | |
146 win32.c: In function 'Fmswindows_shell_execute': | |
147 win32.c:352:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
148 ret = (int) qxeShellExecute (NULL, opext, doc, parmext, path, | |
149 ^ | |
150 intptr-t | |
151 win32.c: In function 'setitimer_helper': | |
152 win32.c:847:7: warning: passing argument 3 of 'timeSetEvent' from incompatible pointer type [enabled by default] | |
153 event_type); | |
154 ^ | |
155 resoluion: pblm is elsewhere? | |
156 setitimer_helper_proc (UINT UNUSED (uID), UINT UNUSED (uMsg), DWORD[_PTR] dwUser, | |
157 DWORD[_PTR] UNUSED (dw1), DWORD[_PTR] UNUSED (dw2)) | |
158 | |
159 > make clean, try again | |
160 | |
161 /usr/local/src/xemacs-21.5-64bit/lib-src/winclient.c: In function 'doFile': | |
162 /usr/local/src/xemacs-21.5-64bit/lib-src/winclient.c:299:4: warning: pointer targ | |
163 ets in passing argument 1 of 'DdeClientTransaction' differ in signedness [-Wpoint | |
164 er-sign] | |
165 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL); | |
166 ^ | |
167 In file included from /usr/local/src/xemacs-21.5-64bit/lib-src/winclient.c:27:0: | |
168 /usr/include/w32api/ddeml.h:208:19: note: expected 'LPBYTE' but argument is of ty | |
169 pe 'char *' | |
170 HDDEDATA WINAPI DdeClientTransaction(LPBYTE pData,DWORD cbData,HCONV hConv,HSZ | |
171 hszItem,UINT wFmt,UINT wType,DWORD dwTimeout,LPDWORD pdwResult); | |
172 ^ | |
173 [note it's arg1 that's the problem, cast to LPBYTE] | |
174 | |
175 event-msw.c:4200:6: warning: passing argument 4 of 'map_event_chain_remove' makes pointer from integer without a cast [enabled by default] | |
176 (intptr_t)id, MECR_DEALLOCATE_EVENT); | |
177 ^ | |
178 In file included from event-msw.c:72:0: | |
179 events.h:956:5: note: expected 'void *' but argument is of type 'long int' | |
180 int map_event_chain_remove (int (*fn) (Lisp_Object ev, void *user_data), | |
181 resolution: hack, but cast _again_, i.e. (void *)(intptr_t) | |
182 | |
183 dialog-msw.c:764:9: warning: passing argument 4 of 'qxeCreateDialogIndirectParam' from incompatible pointer type [enabled by default] | |
184 (intptr_t) STORE_LISP_IN_VOID (obj)); | |
185 ^ | |
186 In file included from syswindows.h:642:0, | |
187 from console-msw.h:39, | |
188 from console-msw-impl.h:37, | |
189 from dialog-msw.c:37: | |
190 intl-auto-encap-win32.h:627:6: note: expected 'DLGPROC' but argument is of type 'BOOL (*)(struct HWND__ *, UINT, WPARAM, LPARAM)' | |
191 HWND qxeCreateDialogIndirectParam (HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); | |
192 resolved by adding a cast: (DLGPROC)dialog_proc, but not at all sure | |
193 that's right | |
194 | |
195 > make clean, try again | |
196 | |
197 intl-win32.c:1509:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] | |
198 TranslateCharsetInfo ((DWORD *) (DWORD) old_logfont.lfCharSet, &info, | |
199 ^ | |
200 resolution: do nothing -- I think this is necessary because of | |
201 extremely aggressive argument overloading by MS | |
202 | |
203 intl-auto-encap-win32.c:126:5: warning: passing argument 1 of 'ShellExecuteExA' from incompatible pointer type [enabled by default] | |
204 return ShellExecuteExA (pExecInfo); | |
205 ^ | |
206 In file included from syswindows.h:220:0, | |
207 from intl-auto-encap-win32.c:12: | |
208 /usr/include/w32api/shellapi.h:345:22: note: expected 'struct SHELLEXECUTEINFOA *' but argument is of type 'struct SHELLEXECUTEINFOW *' | |
209 SHSTDAPI_(WINBOOL) ShellExecuteExA (SHELLEXECUTEINFOA *pExecInfo); | |
210 ^ | |
211 resolution: ignored, never used, removed from intl-encap-win32.c | |
212 | |
213 intl-auto-encap-win32.c: In function 'qxeFreeEnvironmentStrings': | |
214 intl-auto-encap-win32.c:1771:5: warning: passing argument 1 of 'FreeEnvironmentStringsA' from incompatible pointer type [enabled by default] | |
215 return FreeEnvironmentStringsA (penv); | |
216 ^ | |
217 In file included from /usr/include/w32api/winbase.h:28:0, | |
218 from /usr/include/w32api/windows.h:70, | |
219 from syswindows.h:204, | |
220 from intl-auto-encap-win32.c:12: | |
221 /usr/include/w32api/processenv.h:29:29: note: expected 'LPCH' but argument is of type 'LPWCH' | |
222 WINBASEAPI WINBOOL WINAPI FreeEnvironmentStringsA (LPCH penv); | |
223 ^ | |
224 intl-encap-win32.c: In function 'qxeUpdateICMRegKey': | |
225 intl-encap-win32.c:1426:36: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] | |
226 return UpdateICMRegKeyW (arg1, (DWORD) arg2, (LPWSTR) arg3, arg4); | |
227 ^ | |
228 intl-encap-win32.c:1426:5: warning: passing argument 2 of 'UpdateICMRegKeyW' makes pointer from integer without a cast [enabled by default] | |
229 return UpdateICMRegKeyW (arg1, (DWORD) arg2, (LPWSTR) arg3, arg4); | |
230 ^ | |
231 In file included from /usr/include/w32api/windows.h:71:0, | |
232 from syswindows.h:204, | |
233 from console-msw.h:39, | |
234 from intl-encap-win32.c:44: | |
235 /usr/include/w32api/wingdi.h:3425:28: note: expected 'LPWSTR' but argument is of type 'unsigned int' | |
236 WINGDIAPI WINBOOL WINAPI UpdateICMRegKeyW(DWORD reserved,LPWSTR lpszCMID,LPWSTR lpszFileName,UINT command); | |
237 resolution: nothing, known problem | |
238 | |
239 Similarly wrt qxeEnumResourceTypes, qxeEnumResourceNames, | |
240 qxeEnumResourceLanguages, qxeImmSetCompositionString | |
241 | |
242 --------- | |
243 make clean, recompile, all looks OK, try to track down the problem -- | |
244 the error in event-msw.c inside mswindow_find_frame, inside | |
245 intercepted_wnd_proc (a signal handler?), | |
246 where we have a | |
247 window with no frame saved, appears to happen when the main thread is | |
248 in mswindows_init_frame_1 at frame-msw.c:139 | |
249 at recompute_all_cached_specifiers_in_frame at specifier.c:3483 | |
250 at recompute_one_cached_specifier_in_frame at specifier.c:3444 | |
251 around the sixth one |