home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 10 / Fresh_Fish_10_2352.bin / useful / util / edit / mg / src.lzh / amiga / spawn.c < prev    next >
C/C++ Source or Header  |  1990-05-23  |  991b  |  41 lines

  1. /*
  2.  * Name:    MG Version:    2x Spawn an AmigaDOS subprocess Last edit:
  3.  * 05-Sep-1987 By:        ...!ihnp4!seismo!ut-sally!ut-ngp!mic
  4.  */
  5.  
  6.  
  7. #include <exec/types.h>
  8. #include <libraries/dos.h>
  9. #include <libraries/dosextens.h>
  10. #ifdef LATTICE
  11. #include <proto/all.h>
  12. #else
  13. #include <functions.h>
  14. #endif
  15.  
  16. #undef TRUE
  17. #undef FALSE
  18. #include "def.h"        /* AFTER system files to avoid redef's */
  19.  
  20. /*
  21.  * Create a subjob with a copy of the command intrepreter in it. This is
  22.  * really a way to get a new copy of the CLI, because we don't wait around
  23.  * for the new process to quit.  Note the use of a file handle to nil: to
  24.  * avoid the "endcli" message going out to Emacs's standard output.
  25.  */
  26.  
  27. spawncli(f, n)
  28. {
  29.     BPTR            nil;
  30.  
  31.     ewprintf("[Starting new CLI]");
  32.     nil = Open("NIL:", MODE_NEWFILE);
  33.     if (nil == NULL) {    /* highly unlikely */
  34.         ewprintf("Can't create nil file handle");
  35.         return (FALSE);
  36.     }
  37.     Execute("NEWCLI \"CON:0/0/640/200/MicroEmacs Subprocess\"", nil, nil);
  38.     Close(nil);
  39.     return (TRUE);
  40. }
  41.