From owner-cvs-src-old@FreeBSD.ORG Wed Jun 17 21:58:53 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 81448106584A for ; Wed, 17 Jun 2009 21:58:53 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E1BD8FC20 for ; Wed, 17 Jun 2009 21:58:53 +0000 (UTC) (envelope-from jilles@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HLwrOZ018273 for ; Wed, 17 Jun 2009 21:58:53 GMT (envelope-from jilles@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HLwrbn018272 for cvs-src-old@freebsd.org; Wed, 17 Jun 2009 21:58:53 GMT (envelope-from jilles@repoman.freebsd.org) Message-Id: <200906172158.n5HLwrbn018272@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jilles@repoman.freebsd.org using -f From: Jilles Tjoelker Date: Wed, 17 Jun 2009 21:58:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/bin/sh input.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 21:58:53 -0000 jilles 2009-06-17 21:58:32 UTC FreeBSD src repository Modified files: bin/sh input.c Log: SVN rev 194406 on 2009-06-17 21:58:32Z by jilles Properly flush input after an error in backquotes in interactive mode. For parsing an old-style backquote substitution (`...`), a string "file" is used to store the contents of the substitution (with the special backslash processing done). If an error occurs, the shell cleans up all these files (returning to the top level) and flush the top level file. Erroneously, it first flushed the current file and then cleaned up all extra files, so that the top level file (i.e. the terminal) was not flushed. Example (in interactive mode): echo `for` echo This should not be printed Also noticeable in (in interactive mode): echo `(` The old version prints an extraneous prompt. Approved by: ed (mentor) Revision Changes Path 1.25 +1 -1 src/bin/sh/input.c