comparison src/ntproc.c @ 563:183866b06e0b

[xemacs-hg @ 2001-05-24 07:50:48 by ben] Makefile.in.in, abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, casetab.c, chartab.c, cmdloop.c, cmds.c, console-msw.c, console-msw.h, console-stream.c, console-tty.c, console-x.c, console.c, data.c, database.c, debug.c, device-gtk.c, device-msw.c, device-tty.c, device-x.c, device.c, dialog-gtk.c, dialog-msw.c, dialog-x.c, dialog.c, dired-msw.c, dired.c, doc.c, doprnt.c, dragdrop.c, editfns.c, eldap.c, eldap.h, elhash.c, emacs-widget-accessors.c, emacs.c, emodules.c, esd.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, filelock.c, floatfns.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, general-slots.h, glade.c, glyphs-gtk.c, glyphs-msw.c, glyphs-widget.c, glyphs-x.c, glyphs.c, glyphs.h, gpmevent.c, gui-gtk.c, gui-x.c, gui.c, gutter.c, hpplay.c, indent.c, input-method-xlib.c, insdel.c, intl.c, keymap.c, libsst.c, libsst.h, linuxplay.c, lisp.h, lread.c, lstream.c, lstream.h, macros.c, marker.c, md5.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, menubar.c, minibuf.c, miscplay.c, miscplay.h, mule-ccl.c, mule-charset.c, mule-wnnfns.c, mule.c, nas.c, ntplay.c, ntproc.c, objects-gtk.c, objects-msw.c, objects-x.c, objects.c, postgresql.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay.c, scrollbar.c, search.c, select-gtk.c, select-x.c, select.c, sgiplay.c, sheap.c, sound.c, specifier.c, sunplay.c, symbols.c, symeval.h, symsinit.h, syntax.c, sysdep.c, toolbar-msw.c, toolbar.c, tooltalk.c, ui-byhand.c, ui-gtk.c, undo.c, unexaix.c, unexapollo.c, unexconvex.c, unexec.c, widget.c, win32.c, window.c: -- defsymbol -> DEFSYMBOL. -- add an error type to all errors. -- eliminate the error functions in eval.c that let you just use Qerror as the type. -- redo the error API to be more consistent, sensibly named, and easier to use. -- redo the error hierarchy somewhat. create new errors: structure-formation-error, gui-error, invalid-constant, stack-overflow, out-of-memory, process-error, network-error, sound-error, printing-unreadable-object, base64-conversion- error; coding-system-error renamed to text-conversion error; some others. -- fix Mule problems in error strings in emodules.c, tooltalk.c. -- fix error handling in mswin open-network-stream. -- Mule-ize all sound files and clean up the headers. -- nativesound.h -> sound.h and used for all sound files. -- move some shared stuff into glyphs-shared.c: first attempt at eliminating some of the massive GTK code duplication. xemacs.mak: add glyphs-shared.c. xemacs-faq.texi: document how to debug X errors subr.el: fix doc string to reflect reality
author ben
date Thu, 24 May 2001 07:51:33 +0000
parents ed498ef2108b
children 38db05db9cb5
comparison
equal deleted inserted replaced
562:c775bd016b32 563:183866b06e0b
933 CloseHandle (proc_hand); 933 CloseHandle (proc_hand);
934 934
935 return rc; 935 return rc;
936 } 936 }
937 937
938 #if 0
939 /* Sync with FSF Emacs 19.34.6 note: ifdef'ed out in XEmacs */
940 extern int report_file_error (const char *, Lisp_Object);
941 #endif
942 /* The following two routines are used to manipulate stdin, stdout, and 938 /* The following two routines are used to manipulate stdin, stdout, and
943 stderr of our child processes. 939 stderr of our child processes.
944 940
945 Assuming that in, out, and err are *not* inheritable, we make them 941 Assuming that in, out, and err are *not* inheritable, we make them
946 stdin, stdout, and stderr of the child as follows: 942 stdin, stdout, and stderr of the child as follows:
974 parent, 970 parent,
975 &newstdin, 971 &newstdin,
976 0, 972 0,
977 TRUE, 973 TRUE,
978 DUPLICATE_SAME_ACCESS)) 974 DUPLICATE_SAME_ACCESS))
979 report_file_error ("Duplicating input handle for child", Qnil); 975 mswindows_report_process_error ("Duplicating input handle for child",
976 Qunbound, GetLastError ());
980 977
981 if (!DuplicateHandle (parent, 978 if (!DuplicateHandle (parent,
982 (HANDLE) _get_osfhandle (out), 979 (HANDLE) _get_osfhandle (out),
983 parent, 980 parent,
984 &newstdout, 981 &newstdout,
985 0, 982 0,
986 TRUE, 983 TRUE,
987 DUPLICATE_SAME_ACCESS)) 984 DUPLICATE_SAME_ACCESS))
988 report_file_error ("Duplicating output handle for child", Qnil); 985 mswindows_report_process_error ("Duplicating output handle for child",
986 Qunbound, GetLastError ());
989 987
990 if (!DuplicateHandle (parent, 988 if (!DuplicateHandle (parent,
991 (HANDLE) _get_osfhandle (err), 989 (HANDLE) _get_osfhandle (err),
992 parent, 990 parent,
993 &newstderr, 991 &newstderr,
994 0, 992 0,
995 TRUE, 993 TRUE,
996 DUPLICATE_SAME_ACCESS)) 994 DUPLICATE_SAME_ACCESS))
997 report_file_error ("Duplicating error handle for child", Qnil); 995 mswindows_report_process_error ("Duplicating error handle for child",
996 Qunbound, GetLastError ());
998 997
999 /* and store them as our std handles */ 998 /* and store them as our std handles */
1000 if (!SetStdHandle (STD_INPUT_HANDLE, newstdin)) 999 if (!SetStdHandle (STD_INPUT_HANDLE, newstdin))
1001 report_file_error ("Changing stdin handle", Qnil); 1000 mswindows_report_process_error ("Changing stdin handle",
1001 Qunbound, GetLastError ());
1002 1002
1003 if (!SetStdHandle (STD_OUTPUT_HANDLE, newstdout)) 1003 if (!SetStdHandle (STD_OUTPUT_HANDLE, newstdout))
1004 report_file_error ("Changing stdout handle", Qnil); 1004 mswindows_report_process_error ("Changing stdout handle",
1005 Qunbound, GetLastError ());
1005 1006
1006 if (!SetStdHandle (STD_ERROR_HANDLE, newstderr)) 1007 if (!SetStdHandle (STD_ERROR_HANDLE, newstderr))
1007 report_file_error ("Changing stderr handle", Qnil); 1008 mswindows_report_process_error ("Changing stderr handle",
1009 Qunbound, GetLastError ());
1008 } 1010 }
1009 1011
1010 void 1012 void
1011 reset_standard_handles (int in, int out, int err, HANDLE handles[3]) 1013 reset_standard_handles (int in, int out, int err, HANDLE handles[3])
1012 { 1014 {
1287 1289
1288 1290
1289 void 1291 void
1290 vars_of_ntproc (void) 1292 vars_of_ntproc (void)
1291 { 1293 {
1292 defsymbol (&Qhigh, "high"); 1294 DEFSYMBOL (Qhigh);
1293 defsymbol (&Qlow, "low"); 1295 DEFSYMBOL (Qlow);
1294 1296
1295 DEFVAR_LISP ("win32-quote-process-args", &Vwin32_quote_process_args /* 1297 DEFVAR_LISP ("win32-quote-process-args", &Vwin32_quote_process_args /*
1296 Non-nil enables quoting of process arguments to ensure correct parsing. 1298 Non-nil enables quoting of process arguments to ensure correct parsing.
1297 Because Windows does not directly pass argv arrays to child processes, 1299 Because Windows does not directly pass argv arrays to child processes,
1298 programs have to reconstruct the argv array by parsing the command 1300 programs have to reconstruct the argv array by parsing the command