> > BASH PATCH REPORT > > ================= > > > > Bash-Release: 3.2 > > Patch-ID: bash32-020 > > > > Bug-Reported-by: Ian A Watson <[EMAIL PROTECTED]> > > Bug-Reference-ID: > > <OFEC551808.69D02C7F-ON8525729A.0045708D-8525729A.0046150 > >[EMAIL PROTECTED]> Bug-Reference-URL: > > > > Bug-Description: > > > > In some cases of error processing, a jump back to the top-level processing > > loop from a builtin command would leave the shell in an inconsistent > > state. > > this appears to break handling of read only variables in source statements
I offered to look at restoring a measure of backwards compatibility; try the attached patch. Chet
*** ../bash-20080724/subst.c 2008-08-01 22:20:31.000000000 -0400 --- subst.c 2008-08-17 20:15:52.000000000 -0400 *************** *** 135,139 **** extern int last_command_exit_value, last_command_exit_signal; extern int subshell_environment; ! extern int subshell_level; extern int eof_encountered; extern int return_catch_flag, return_catch_value; --- 135,139 ---- extern int last_command_exit_value, last_command_exit_signal; extern int subshell_environment; ! extern int subshell_level, parse_and_execute_level; extern int eof_encountered; extern int return_catch_flag, return_catch_value; *************** *** 8092,8096 **** assigning_in_environment = 0; ! top_level_cleanup (); /* from sig.c */ jump_to_top_level (v); } --- 8092,8098 ---- assigning_in_environment = 0; ! if (parse_and_execute_level == 0) ! top_level_cleanup (); /* from sig.c */ ! jump_to_top_level (v); }
``The lyf so short, the craft so long to lerne.'' - Chaucer Chet Ramey, ITS, CWRU [EMAIL PROTECTED] http://tiswww.tis.case.edu/~chet/