I had something along the lines of:
Func1[x_]:=(For[i=1,i<somenum,i++,
Func2 [ x[[i]] ]
];)
Func2[a_]:=(For[i=1,i<anothernum,i++,
Print[ToString[i]] ];)
And found that the i from the loop in Func1[] was being incremented by the loop in Func2[]. This was really surprising to me: I assumed, being local variables for defined at different points in the stack, they wouldn't know about each other. Changing the i in Func1[] to k fixed everything.
Is this usual/normal?