# HG changeset patch # User Henry Thompson # Date 1425059324 0 # Node ID da02ba75e50ab3443954d6fcddb00c5dbf4f27a8 # Parent 08cfc8f77fb6375395f1986def0f07ee693ead86# Parent 4b055de36bb90cf6215cf9614ebf666b12fadc51 merge heads 3 diff -r 4b055de36bb9 -r da02ba75e50a notes.txt --- a/notes.txt Fri Feb 27 17:47:15 2015 +0000 +++ b/notes.txt Fri Feb 27 17:48:44 2015 +0000 @@ -249,3 +249,26 @@ at recompute_all_cached_specifiers_in_frame at specifier.c:3483 at recompute_one_cached_specifier_in_frame at specifier.c:3444 around the sixth one +--- +April 2014 above here +---- +After a tiny spark on interest on xemacs-beta, did pull -u, merge and +commit, make distclean, configure '--with-pdump=yes' '--with-modules=no' '--with-mule=yes' '--with-ncurses=yes' '--with-msw=yes' '--without-png' '--without-xpm' '--without-jpeg' '--with-cflags-debugging=-ggdb' + +No change -- -nw works, w/o -nw gives the same assertion failed. +----- +Trying again, make distclean followed by + > +didn't work!, had to add --without-x (why???) +------ +Force debug printing on by + debug_mswindows_events = 3; +at the end of event-msw.c +Added more printing, removed frame printing, from +debug_output_mswin_message ditto +Narrowed it down to the + qxeSetWindowLong (hwnd, XWL_FRAMEOBJ, (intptr_t)STORE_LISP_IN_VOID (frame_obj)); +at the end of mswindows_init_frame_1 in frame-msw.c +a) Should be ...LongtPtr +b) Not enough room allocated for a 64-bit long ptr -- fixed in + console-msw-impl.h diff -r 4b055de36bb9 -r da02ba75e50a src/console-msw-impl.h --- a/src/console-msw-impl.h Fri Feb 27 17:47:15 2015 +0000 +++ b/src/console-msw-impl.h Fri Feb 27 17:48:44 2015 +0000 @@ -270,8 +270,8 @@ /* win32 window LONG indices */ #define XWL_FRAMEOBJ 0 -#define XWL_COUNT 1 /* Number of LONGs that we use */ -#define MSWINDOWS_WINDOW_EXTRA_BYTES (XWL_COUNT * 4) +#define XWL_COUNT 1 /* Number of pointers that we use: HST changed from LONG to PTR */ +#define MSWINDOWS_WINDOW_EXTRA_BYTES (XWL_COUNT * sizeof(intptr_t)) /* HST fixed to take account of 64-bit PTR */ /* * Printer frame, aka printer job diff -r 4b055de36bb9 -r da02ba75e50a src/event-msw.c --- a/src/event-msw.c Fri Feb 27 17:47:15 2015 +0000 +++ b/src/event-msw.c Fri Feb 27 17:48:44 2015 +0000 @@ -4965,8 +4965,9 @@ if (debug_mswindows_events > 1) { - stderr_out (" wparam=%d lparam=%d hwnd=%p frame: ", - (int)wParam, (int) lParam, hwnd); + stderr_out (" wparam=%d lparam=%d hwnd=%p frame: %d (%d)\n", + (int)wParam, (int) lParam, hwnd, (int)qxeGetWindowLongPtr (hwnd, XWL_FRAMEOBJ), + NILP (Vmswindows_frame_being_created)); debug_print (frame); if (message_ == WM_WINDOWPOSCHANGED || message_ == WM_WINDOWPOSCHANGING) diff -r 4b055de36bb9 -r da02ba75e50a src/frame-msw.c --- a/src/frame-msw.c Fri Feb 27 17:47:15 2015 +0000 +++ b/src/frame-msw.c Fri Feb 27 17:48:44 2015 +0000 @@ -271,7 +271,7 @@ FRAME_MSWINDOWS_HANDLE (f) = hwnd; - qxeSetWindowLong (hwnd, XWL_FRAMEOBJ, (intptr_t)STORE_LISP_IN_VOID (frame_obj)); + qxeSetWindowLongPtr (hwnd, XWL_FRAMEOBJ, (intptr_t)STORE_LISP_IN_VOID (frame_obj)); FRAME_MSWINDOWS_DC (f) = GetDC (hwnd); SetTextAlign (FRAME_MSWINDOWS_DC (f), TA_BASELINE | TA_LEFT | TA_NOUPDATECP); diff -r 4b055de36bb9 -r da02ba75e50a src/process-unix.c --- a/src/process-unix.c Fri Feb 27 17:47:15 2015 +0000 +++ b/src/process-unix.c Fri Feb 27 17:48:44 2015 +0000 @@ -1011,6 +1011,15 @@ retry_close (fd); } + /* Disconnect the current controlling terminal, pursuant to + making the pty be the controlling terminal of the process. + Also put us in our own process group. */ + + /* disconnect_controlling_terminal was in unix_create_process, + moved per email from Vin Shelton of 28-Jan-15 to xemacs-beta */ + + disconnect_controlling_terminal (); + /* we've wrapped execve; it translates its arguments */ qxe_execve (new_argv[0], new_argv, env); @@ -1120,12 +1129,8 @@ cause I/O, and that, in turn, can confuse the X connection. */ begin_dont_check_for_quit(); - /* Disconnect the current controlling terminal, pursuant to - making the pty be the controlling terminal of the process. - Also put us in our own process group. */ - - disconnect_controlling_terminal (); - + /* disconnect_controlling_terminal was here, moved per + email from Vin Shelton of 28-Jan-15 to xemacs-beta */ if (pty_flag) { /* Open the pty connection and make the pty's terminal