For-loop variable must have explicitly local scope

darcs-hash:20050926145835-ac50b-828ed718f1b4a4fdb949c597ce6a0b008926c11e.gz
This commit is contained in:
axel 2005-09-27 00:58:35 +10:00
parent 0a87af38f9
commit 6d4e6f40ce
2 changed files with 5 additions and 2 deletions

View file

@ -6,6 +6,9 @@
* 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 <axel@liljencrantz.se>
* parser.c: (parse_job, parser_skip_arguemnts, paresr_Test): No semicolon required after else and begin

View file

@ -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( &current_block->for_vars ) )
{
wchar_t *val = (wchar_t *)al_pop( &current_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);