Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #14070

[BUG] 'unset' fails silently under specific conditions

Path csiph.com!goblin2!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail
From Martijn Dekker <martijn@inlv.org>
Newsgroups gnu.bash.bug
Subject [BUG] 'unset' fails silently under specific conditions
Date Tue, 1 May 2018 18:45:43 +0200
Lines 33
Approved bug-bash@gnu.org
Message-ID <mailman.13212.1525193155.27995.bug-bash@gnu.org> (permalink)
References <a16a34cf-eea7-16b8-76d8-e05d0fe2cc32@inlv.org>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1525193155 20685 208.118.235.17 (1 May 2018 16:45:55 GMT)
X-Complaints-To action@cs.stanford.edu
To Chet Ramey <chet.ramey@case.edu>, Bug reports for the GNU Bourne Again SHell <bug-bash@gnu.org>
Envelope-to bug-bash@gnu.org
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
In-Reply-To <a16a34cf-eea7-16b8-76d8-e05d0fe2cc32@inlv.org>
Content-Language en-GB
X-detected-operating-system by eggs.gnu.org: GNU/Linux 3.x [fuzzy]
X-Received-From 37.59.109.123
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.21
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <http://lists.gnu.org/archive/html/bug-bash/>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
Xref csiph.com gnu.bash.bug:14070

Show key headers only | View raw


Op 26-04-18 om 04:51 schreef Martijn Dekker:
> I've also succeeded in making 'unset -v' fail silently for a variable 
> that is so exported, but I've so far been unable to track down a 
> specific reproducer that is simple enough to post here.

Here is that reproducer. The following appears to be the minimum 
necessary to consistently make 'unset' silently fail on bash 4.2.45, 
4.3.30, 4.4.19 and current git. (I confirmed the bug is *not* present on 
bash 4.0.38, 3.2.48, 3.1.0, 3.0.16 and 2.05b.)

POSIXLY_CORRECT=y
func1() {
   var=1
   var=2 :       # or 'var=2 return', or another special builtin
}
func2() {
   func1
   unset -v var  # bug: fails silently
}
func2
echo ${var+"BUG: still set"}

Output: 'BUG: still set'
Expected output: none

It appears that it must have one function calling another, and that 
other function having an assignment preceding a special builtin, for 
'unset' to fail silently for the variable so assigned.

Thanks,

- M.

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

[BUG] 'unset' fails silently under specific conditions Martijn Dekker <martijn@inlv.org> - 2018-05-01 18:45 +0200

csiph-web