Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Nov 2010 22:10:26 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r215266 - head/bin/sh
Message-ID:  <201011132210.oADMAQfb061493@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sat Nov 13 22:10:26 2010
New Revision: 215266
URL: http://svn.freebsd.org/changeset/base/215266

Log:
  sh: Do the additional actions if 'local -' restore changes -i/-m/-E/-V.
  
  Example:
    f() { local -; set +m; }; f
  caused failure to execute external programs because the job control tty fd
  was not opened.

Modified:
  head/bin/sh/var.c

Modified: head/bin/sh/var.c
==============================================================================
--- head/bin/sh/var.c	Sat Nov 13 22:04:48 2010	(r215265)
+++ head/bin/sh/var.c	Sat Nov 13 22:10:26 2010	(r215266)
@@ -805,6 +805,7 @@ poplocalvars(void)
 		if (vp == NULL) {	/* $- saved */
 			memcpy(optlist, lvp->text, sizeof optlist);
 			ckfree(lvp->text);
+			optschanged();
 		} else if ((lvp->flags & (VUNSET|VSTRFIXED)) == VUNSET) {
 			(void)unsetvar(vp->text);
 		} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011132210.oADMAQfb061493>