Truth be told, I\'m just being lazy here, but perhaps someone could someday profit from the answer being here.
Say I define a function like:
fn<-f
Default arguments are evaluated within the evaluation frame of the function call, from which place parent.frame() is the calling environment. envir's value will thus be a pointer to the environment from which fn was called.
Also, just try it out to see for yourself:
debug(fn)
fn()
# debugging in: fn()
# debug at #2: {
# }
Browse[2]> envir
#