Skip to content

Commit 242a7db

Browse files
authored
Add evaluating environment to tidy eval call. Closes #2835 (#2836)
* Add evaluating environment to tidy eval call. closes #2835 * modify unit test to use local variable inside function
1 parent c040a5b commit 242a7db

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

R/axis-secondary.R

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,11 @@ AxisSecondary <- ggproto("AxisSecondary", NULL,
106106

107107
transform_range = function(self, range) {
108108
range <- structure(data.frame(range), names = '.')
109-
rlang::eval_tidy(rlang::f_rhs(self$trans), data = range)
109+
rlang::eval_tidy(
110+
rlang::f_rhs(self$trans),
111+
data = range,
112+
env = rlang::f_env(self$trans)
113+
)
110114
},
111115

112116
break_info = function(self, range, scale) {

tests/testthat/test-sec-axis.R

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,19 @@ test_that("sec axis works with skewed transform", {
9393
})
9494

9595
test_that("sec axis works with tidy eval", {
96+
# decoy, not used
97+
a <- 5
98+
9699
f <- function(df, .x, .y, .z) {
97100
x <- enquo(.x)
98101
y <- enquo(.y)
99102
z <- enquo(.z)
103+
a <- 10 # scaling of secondary axis
100104

101105
g <- ggplot(df, aes(x = !!x, y = !!y)) +
102106
geom_bar(stat = "identity") +
103107
geom_point(aes(y = !!z)) +
104-
scale_y_continuous(sec.axis = sec_axis(~. / 10))
108+
scale_y_continuous(sec.axis = sec_axis(~. / a))
105109

106110
g
107111
}

0 commit comments

Comments
 (0)