--- command.c.old	Fri Jun  6 07:17:50 1997
+++ command.c	Fri Jun  6 07:17:36 1997
@@ -2,17 +2,15 @@
 
 void command (int index)
 {
-    FILE
-	*f;
-    register int
-	i;
+  char *buffer;
 
-    if (! (f = popen (orgargv [0], "w")) )
-	error ("could not restart \"%s\"", orgargv [0]);
+  buffer=malloc(strlen(orgargv[index])+2);
+  strcpy (buffer, orgargv[index]);
+  strcat (buffer, "\n");
 
-    for (i = index; i < orgargc; i++)
-	fprintf (f, "%s ", orgargv [i]);
-    fputc ('\n', f);
+  yy_scan_string (buffer);
+  laststatus = yyparse();
 
-    laststatus = pclose (f);
+  free (buffer);
