R ejecuta el código en la función cuando hay un error de sintaxis y la función no se llama explícitamente

Esto es interesante. Estoy en CentOS 6.9, R-3.4.2. Tengo un código,tmp.R:

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

Cuando ejecuto esto,Rscript tmp.R, Yo obteng

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

Esto es bastante confuso porque nuncaactualment llamadomain(). De hecho, si elimino el error de sintaxis (la tercera línea se convierte enprint(a)), y lo ejecuto, no hay salida. Este es el comportamiento esperado en mi mente.

PREGUNT: ¿Por qué R ejecuta el código en un script cuando se produce un error de sintaxis, incluso cuando el código no se llama explícitamente (!)

EDITA: Resulta que este comportamiento parece deberse a teneroptions(error=traceback) se establece en mi.Rprofile. Este es un comportamiento indeseable, no obstante. Todavía sería deseable poder rastrear cuando está en modo interactivo y no realizar esta extraña ejecución de código en modo no interactivo.

Respuestas a la pregunta(0)

Su respuesta a la pregunta