diff --git a/ChangeLog b/ChangeLog index 1b25f08f3..7f1fe922e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ * env.c, builtin_set.c (env_exist, env_get, env_set, builtin_set): Add support for zero element arrays * env.c (env_set): Default scope for variables is innermost function block + + * builtin.c (builtin_for): For-loop variable must have explicitly local scope + 2005-09-25 Axel Liljencrantz diff --git a/builtin.c b/builtin.c index e82ac8458..b5a7f0b48 100644 --- a/builtin.c +++ b/builtin.c @@ -2281,7 +2281,7 @@ static int builtin_for( wchar_t **argv ) } if( argc > 3 ) { - env_set( current_block->for_variable, argv[3], 0); + env_set( current_block->for_variable, argv[3], ENV_LOCAL ); } else { @@ -2371,7 +2371,7 @@ static int builtin_end( wchar_t **argv ) if( al_get_count( ¤t_block->for_vars ) ) { wchar_t *val = (wchar_t *)al_pop( ¤t_block->for_vars ); - env_set( current_block->for_variable, val, 0); + env_set( current_block->for_variable, val, ENV_LOCAL); current_block->loop_status = LOOP_NORMAL; current_block->skip = 0; free(val);