R executa o código na função quando há um erro de sintaxe e a função não é explicitamente chamada

Isto é interessante. Estou no CentOS 6.9, R-3.4.2. Eu tenho um código,tmp.R:

main<-function(){
    a = 9
    print(a) xyz
    print("Should never get here")
}

Quando eu corro isso,Rscript tmp.R, Eu receb

Error: unexpected symbol in:
"    a = 9
    print(a) xyz"
No traceback available
[1] "Should never get here"
Error: unexpected '}' in "}"
No traceback available

Isso é bastante confuso porque eu nuncana realidad chamadomain(). De fato, se eu remover o erro de sintaxe (a terceira linha se tornaráprint(a)), e eu corro, não há saída. Este é o comportamento esperado em minha mente.

QUESTÃ: Por que R executa código em um script quando ocorre um erro de sintaxe, mesmo quando o código não é chamado explicitamente (!

EDITA: Acontece que esse comportamento parece dever-se a teroptions(error=traceback) sendo definido no meu.Rprofile. Este é um comportamento indesejável, no entanto. Ainda seria desejável obter tracebacks no modo interativo e não executar essa estranha execução de código no modo não interativ

questionAnswers(0)

yourAnswerToTheQuestion