Julia: variable no definida

El comportamiento del alcance variable parece bastante extraño. El bloque de código

tp = 1
function test2()
    println(tp)
end

funciona perfectamente bien mientras

function test()
    if tp==0
       tp=tp-1
    end
end

da la excepción "tp no definido". ¿Qué está mal?