[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: extdebug now implies errtrace which implies `trap ... ERR` execution
From: |
Chet Ramey |
Subject: |
Re: extdebug now implies errtrace which implies `trap ... ERR` execution w/out `set -e` |
Date: |
Tue, 9 Feb 2021 11:12:44 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 2/8/21 11:54 PM, Mike Frysinger wrote:
this set of changes between bash-4.3 & bash-4.4:
https://git.savannah.gnu.org/cgit/bash.git/commit/?h=814e1ff513ceca5d535b92f6c8dd9af7554fe83e
I'm glad you're upgrading to bash-4.4. This change was made nearly five
years ago; the time to relitigate it has long passed.
has this buried nugget:
+ - shopt_set_debug_mode: make sure error_trace_mode reflects the setting
+ of extdebug. This one is tentative. Fix from Grisha Levit > +
<grishalevit@gmail.com>
+ - shopt_set_debug_mode: call set_shellopts after setting
error_trace_mode
+ or function_trace_mode. Fix from Grisha Levit <grishalevit@gmail.com>
You can take that and find the original bug report, with Grisha's patch:
https://lists.gnu.org/archive/html/bug-bash/2016-05/msg00000.html
Since the bash-4.3 man page said that setting `extdebug' means that error
tracing is enabled, and implies the opposite is true, it makes sense to
ensure that the `errtrace' value reflects the value of `extdebug' when it's
changed.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/