    outerFunc <- function() { 
      obj <- "Outer Object"
      innerFunc()
    }

    innerFunc <- function() {
      # A local variable with same name is created
      obj <- "Inner Object"

      # would like to grab the value of obj from the calling function, not having been passed the value  

      cat(evalq(obj, envir=sys.frame(-1)), "\n")

      obj.callingFunc <- eval(quote(obj), envir=sys.frame(-1))

      cat(obj.callingFunc, "\n")  # gives "Inner Object" instead of "Outer Object"
    
      get("obj", envir=parent.frame()) == eval("obj", envir=parent.frame())
    } 

    outerFunc()



test <- function() {
obj <- "test"
cat(
  eval(quote(obj), envir=parent.frame()), "\n",
  get("obj", envir=parent.frame()), "\n",

  # THESE DO *NOT* WORK
  eval("obj", envir=parent.frame()) , "\n",
  get(quote(obj), envir=parent.frame()), "\n",
  ""

  )
}; test()
