1
2on_load <- function(expr, env = topenv(parent.frame())) {
3  callback <- function() eval_bare(expr, env)
4  env$.__rlang_hook__. <- c(env$.__rlang_hook__., list(callback))
5}
6
7run_on_load <- function(env = topenv(caller_env())) {
8  hook <- env$.__rlang_hook__.
9  env_unbind(env, ".__rlang_hook__.")
10
11  for (callback in hook) {
12    callback()
13  }
14
15  env$.__rlang_hook__. <- NULL
16}
17