Skip to content

Commit cf9fe75

Browse files
committed
Fix init order for R < 4.2
Need to call into R-level `exists()` on these versions
1 parent 8c210ea commit cf9fe75

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/rlang/rlang.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,28 +96,28 @@ r_obj* r_init_library(r_obj* ns) {
9696
r_init_library_obj(ns);
9797
r_init_library_globals(ns);
9898

99+
shared_x_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
100+
r_preserve(shared_x_env);
101+
102+
shared_xy_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
103+
r_preserve(shared_xy_env);
104+
105+
shared_xyz_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
106+
r_preserve(shared_xyz_env);
107+
108+
r_init_library_sym();
109+
r_init_library_eval();
110+
r_init_library_env();
99111
r_init_rlang_ns_env();
100112
r_init_library_arg();
101113
r_init_library_call();
102114
r_init_library_cnd();
103115
r_init_library_dyn_array();
104-
r_init_library_env();
105-
r_init_library_eval();
106116
r_init_library_fn();
107117
r_init_library_quo();
108118
r_init_library_session();
109-
r_init_library_sym();
110119
r_init_library_stack();
111120

112-
shared_x_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
113-
r_preserve(shared_x_env);
114-
115-
shared_xy_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
116-
r_preserve(shared_xy_env);
117-
118-
shared_xyz_env = r_parse_eval("new.env(hash = FALSE, parent = baseenv(), size = 1L)", r_envs.base);
119-
r_preserve(shared_xyz_env);
120-
121121
// Return a SEXP so the init function can be called from R
122122
return r_null;
123123
}

0 commit comments

Comments
 (0)