48a49,51 > /* Variable denoting is scope is being checked */ > extern int check_scope; > 167c170,179 < return evaluate_subexp (NULL_TYPE, exp, &pc, EVAL_NORMAL); --- > > /* Modifications so that if we are checking scope we can > reset the value of the variable to 0, so we don't check > scope when we don't want to */ > struct value *val = evaluate_subexp (NULL_TYPE, exp, &pc, EVAL_NORMAL); > > if(check_scope == 1) > check_scope = 0; > > return val; 474a487,494 > /* Special case, if we are checking scope and a variable is > in scope, return a expression of value 1. */ > if(check_scope == 0) > return value_of_variable (exp->elts[pc + 2].symbol, > exp->elts[pc + 1].block); > else > return value_from_longest (builtin_type_int, (LONGEST) 1); > 1336c1356,1368 < arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); --- > > /* Temporalily disable scope checking while we evaluate > the subexpression, so that the correct type of value > is returned */ > if(check_scope == 1) > { > check_scope = 0; > arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); > check_scope = 1; > } > else > arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); >