Blob Blame History Raw
diff -up tcsh-6.17.00/sh.glob.c.orig tcsh-6.17.00/sh.glob.c
--- tcsh-6.17.00/sh.glob.c.orig	2010-10-06 10:27:21.015893878 +0200
+++ tcsh-6.17.00/sh.glob.c	2010-10-06 10:28:17.503914951 +0200
@@ -881,11 +881,13 @@ backeval(struct blk_buf *bb, struct Strb
 		stderror(ERR_OLD);
 	    alias(&paraml);
 	    t = syntax(paraml.next, &paraml, 0);
+	    if (t == NULL)
+		return;
 	    cleanup_push(t, syntax_cleanup);
 	    /* The F_BACKQ flag must set so the job output is correct if
 	     * printexitvalue is set.  If it's not set, the job output
 	     * will have "Exit N" appended where N is the exit status. */
-	    t->t_dflg = F_BACKQ;
+	    t->t_dflg = F_BACKQ|F_NOFORK;
 	    if (seterr)
 		stderror(ERR_OLD);
 #ifdef SIGTSTP