comparison src/process-nt.c @ 800:a5954632b187

[xemacs-hg @ 2002-03-31 08:27:14 by ben] more fixes, first crack at finishing behavior implementation TODO.ben-mule-21-5: Update. configure.in: Fix for new error-checking types. make-mswin-unicode.pl: Don't be fucked up by CRLF. Output code to force errors when nonintercepted Windows calls issued. behavior.el, dumped-lisp.el, menubar-items.el: Add support for saving using custom. Load into a dumped XEmacs. Correct :title to :short-doc in accordance with behavior-defs.el. Add a submenu under Options for turning on/off behaviors. cl-macs.el: Properly document `loop'. Fix a minor bug in keymap iteration and add support for bit-vector iteration. lisp-mode.el: Rearrange and add items for macro expanding. menubar-items.el: Document connection between these two functions. window.el: Port stuff from GNU 21.1. config.inc.samp, xemacs.mak: Separate out and add new variable for controlling error-checking. s/windowsnt.h: Use new ERROR_CHECK_ALL; not related to DEBUG_XEMACS. alloc.c, backtrace.h, buffer.c, buffer.h, bytecode.c, callproc.c, casetab.c, charset.h, chartab.c, cmdloop.c, config.h.in, console-msw.c, console-stream.c, console-tty.c, console.c, console.h, data.c, device-msw.c, device.c, device.h, dired-msw.c, dired.c, dumper.c, editfns.c, eldap.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, file-coding.h, fileio.c, frame-msw.c, frame.c, frame.h, glyphs-gtk.c, glyphs-msw.c, glyphs-shared.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, insdel.c, intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, intl-win32.c, keymap.c, lisp-union.h, lisp.h, lread.c, lrecord.h, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-x.c, menubar.c, mule-coding.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, opaque.c, print.c, process-nt.c, process-unix.c, process.c, rangetab.c, redisplay-msw.c, redisplay-output.c, redisplay.c, regex.c, scrollbar-msw.c, select-msw.c, signal.c, specifier.c, specifier.h, symbols.c, sysdep.c, syswindows.h, text.c, text.h, toolbar-msw.c, tooltalk.c, ui-gtk.c, unicode.c, window.c: Redo error-checking macros: ERROR_CHECK_TYPECHECK -> ERROR_CHECK_TYPES, ERROR_CHECK_CHARBPOS -> ERROR_CHECK_TEXT, add ERROR_CHECK_DISPLAY, ERROR_CHECK_STRUCTURES. Document these in config.h.in. Fix code to follow docs. Fix *_checking_assert() in accordance with new names. Attempt to fix periodic redisplay crash freeing display line structures. Add first implementation of sledgehammer redisplay check. Redo print_*() to use write_fmt_string(), write_fmt_string_lisp(). Fix bug in md5 handling. Rename character-to-unicode to char-to-unicode; same for unicode-to-char{acter}. Move chartab documentation to `make-char-table'. Some header cleanup. Clean up remaining places where nonintercepted Windows calls are being used. automated/mule-tests.el: Fix for new Unicode support.
author ben
date Sun, 31 Mar 2002 08:30:17 +0000
parents 7b1f30330a19
children 6728e641994e
comparison
equal deleted inserted replaced
799:03d9f9084848 800:a5954632b187
562 WM_CLOSE pops up a dialog that, when Yes is selected, 562 WM_CLOSE pops up a dialog that, when Yes is selected,
563 does the same thing. TerminateProcess is also less 563 does the same thing. TerminateProcess is also less
564 than ideal in that subprocesses tend to stick around 564 than ideal in that subprocesses tend to stick around
565 until the machine is shutdown, but at least it 565 until the machine is shutdown, but at least it
566 doesn't freeze the 16-bit subsystem. */ 566 doesn't freeze the 16-bit subsystem. */
567 PostMessage (cp->hwnd, WM_QUIT, 0xff, 0); 567 qxePostMessage (cp->hwnd, WM_QUIT, 0xff, 0);
568 #endif 568 #endif
569 if (!TerminateProcess (h_process, 0xff)) 569 if (!TerminateProcess (h_process, 0xff))
570 { 570 {
571 #if 0 /* FSF Emacs */ 571 #if 0 /* FSF Emacs */
572 DebPrint (("sys_kill.TerminateProcess returned %d " 572 DebPrint (("sys_kill.TerminateProcess returned %d "
576 rc = 0; 576 rc = 0;
577 } 577 }
578 } 578 }
579 else 579 else
580 #endif 580 #endif
581 PostMessage (cp->hwnd, WM_CLOSE, 0, 0); 581 qxePostMessage (cp->hwnd, WM_CLOSE, 0, 0);
582 } 582 }
583 /* Kill the process. On W32 this doesn't kill child processes 583 /* Kill the process. On W32 this doesn't kill child processes
584 so it doesn't work very well for shells which is why it's not 584 so it doesn't work very well for shells which is why it's not
585 used in every case. */ 585 used in every case. */
586 else if (!TerminateProcess (h_process, 0xff)) 586 else if (!TerminateProcess (h_process, 0xff))
1203 SetTimer (hwnd, SOCK_TIMER_ID, 250, NULL); 1203 SetTimer (hwnd, SOCK_TIMER_ID, 250, NULL);
1204 1204
1205 while (1) 1205 while (1)
1206 { 1206 {
1207 MSG msg; 1207 MSG msg;
1208 GetMessage (&msg, hwnd, 0, 0); 1208 qxeGetMessage (&msg, hwnd, 0, 0);
1209 if (msg.message == XM_SOCKREPLY) 1209 if (msg.message == XM_SOCKREPLY)
1210 { 1210 {
1211 /* Ok, got an answer */ 1211 /* Ok, got an answer */
1212 errcode = WSAGETASYNCERROR (msg.lParam); 1212 errcode = WSAGETASYNCERROR (msg.lParam);
1213 goto done; 1213 goto done;
1220 KillTimer (hwnd, SOCK_TIMER_ID); 1220 KillTimer (hwnd, SOCK_TIMER_ID);
1221 DestroyWindow (hwnd); 1221 DestroyWindow (hwnd);
1222 REALLY_QUIT; 1222 REALLY_QUIT;
1223 } 1223 }
1224 } 1224 }
1225 DispatchMessage (&msg); 1225 qxeDispatchMessage (&msg);
1226 } 1226 }
1227 1227
1228 done: 1228 done:
1229 KillTimer (hwnd, SOCK_TIMER_ID); 1229 KillTimer (hwnd, SOCK_TIMER_ID);
1230 DestroyWindow (hwnd); 1230 DestroyWindow (hwnd);