mwm@ucbopal.berkeley.edu (Mike (I'll be mellow when I'm dead) Meyer) (05/15/86)
I sometimes run microEmacs from the workbench, where it has the obnoxious habit of locking up the system when you endcli after a spawn-cli. Amiga hack has the same bad habit. The spawn-cli below fixes this problem, though it is somewhat ugly. As far as I know, this doesn't do anything that will break the system; I'm sure I'll find out soon enough if someone else finds such a creature :-). Those of you who don't run microEmacs from the workbench should probably ignore this. Those working on porting the latest Hack to the Amiga should probably pick it up. <mike /* * Name: MicroEMACS * Spawn an AmigaDOS subprocess * Version: 31 * Last edit: 15-May-86 * By: mwm@ucbvax */ #include <libraries/dos.h> #include <libraries/dosextens.h> #undef TRUE #undef FALSE #include "def.h" /* AFTER system files to avoid redef's */ /* * Create a subjob with a copy * of the command intrepreter in it. Since the command * interpreter doesn't run in the same window, there's no * need for a refresh. Ah, the beauties of windowing system... */ spawncli(f, n, k) { struct FileHandle *nilfh, *Open(); eprintf("[Starting new CLI]"); nilfh = Open("NIL:", MODE_NEWFILE) ; if (nilfh == (struct FileHandle *) 0) { eprintf("Can't create new CLI window"); return (FALSE); } Execute("newcli \"CON:0/0/640/200/MicroEmacs Subprocess\"", nilfh, nilfh); Close(nilfh); return (TRUE); }