From 6285253f997e4d593eb8ba5f5996b0b18b0fab06 Mon Sep 17 00:00:00 2001
From: pvictor <perrier.victor@gmail.com>
Date: Fri, 10 Jan 2025 11:15:41 +0100
Subject: [PATCH] get geom args: also retrieve stat args

---
 DESCRIPTION                 |   2 +-
 R/geometries.R              |   8 ++++++++
 tests/testthat/Rplots.pdf   | Bin 3830 -> 3667 bytes
 tests/testthat/test-geoms.R |   2 +-
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/DESCRIPTION b/DESCRIPTION
index 3e553eab..0a239079 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: esquisse
 Type: Package
 Title: Explore and Visualize Your Data Interactively
-Version: 2.0.1
+Version: 2.0.1.9000
 Authors@R: c(person("Fanny", "Meyer", role = c("aut")),
   person("Victor", "Perrier", email = "victor.perrier@dreamrs.fr", role = c("aut", "cre")),
   person("Ian", "Carroll", comment = "Faceting support", role = "ctb"),
diff --git a/R/geometries.R b/R/geometries.R
index 346922d3..dd9e223e 100644
--- a/R/geometries.R
+++ b/R/geometries.R
@@ -233,6 +233,14 @@ match_geom_args <- function(geom,
     if (!inherits(stat_args, "try-error")) {
       geom_args <- c(geom_args, stat_args)
     }
+  } else if (!is.null(geom_args$stat)) {
+    stat_args <- try(
+      formals(fun = get(paste0("stat_", geom_args$stat), envir = pkg_envir)),
+      silent = TRUE
+    )
+    if (!inherits(stat_args, "try-error")) {
+      geom_args <- c(geom_args, stat_args)
+    }
   }
   # browser()
   if (isTRUE(add_aes)) {
diff --git a/tests/testthat/Rplots.pdf b/tests/testthat/Rplots.pdf
index 3c9b24963bdbd615c6fa408e194e155f3af9961a..b9a6e393aa9fd7de71ccd964e8d0cf2b96db797d 100644
GIT binary patch
delta 71
zcmew+ds$|JiMpwQp&<|%8X1~va_Rf#r?@1Rq$+5*SQ!}@A<0dQ)?+l@*tMKz^A%nR
QMlNFuOD<JaSARDy0JgdkUjP6A

delta 236
zcmYj}Jx&8L5Jr{Of}R4TDTsh3vuim~pbqI!4v=bM&n^~T8~lUl=&6!Zq((UkccG4<
zK(z0B-}^fMzSycO)hOAvGc|AKHv%7mSx{!UUfjt>{@Zrz$w+>F>`&frXZTV=X2)F?
ztx{-0cASz0>?6H0An8&QsBP3`=p4TRX6sBv1L+t%;3o2qSf8Xd`z+8{j+|@)ocNFp
zcYx9QzE;>+=je}L0zMYsQ!Im{k^w^>JU>;De$(lhG#}d2vyqrir5KOzS4(jOow7@*

diff --git a/tests/testthat/test-geoms.R b/tests/testthat/test-geoms.R
index d0691984..8f6cb81a 100644
--- a/tests/testthat/test-geoms.R
+++ b/tests/testthat/test-geoms.R
@@ -24,7 +24,7 @@ test_that("match_geom_args works", {
   histo_params <- match_geom_args(geom = "histogram", args = params, add_aes = FALSE)
   expect_length(histo_params, 2)
   histo_params <- match_geom_args(geom = "violin", args = params)
-  expect_length(histo_params, 3)
+  expect_length(histo_params, 4)
 })