From 59f7d65b4adde50641301b45ca4b8f7ceb4873bc Mon Sep 17 00:00:00 2001 From: Jordan Mark Barbone Date: Mon, 20 Jul 2026 23:42:04 -0400 Subject: [PATCH 1/4] updates checks --- R/deps-explain.R | 2 +- R/package.R | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/deps-explain.R b/R/deps-explain.R index 817dd46d20..39f33764eb 100644 --- a/R/deps-explain.R +++ b/R/deps-explain.R @@ -27,7 +27,7 @@ #' ``` pkg_deps_explain <- function(pkg, deps, upgrade = TRUE, dependencies = NA) { - stopifnot(length(pkg == 1) && is.character(pkg)) + stopifnot(length(pkg) == 1L, is.character(pkg)) remote( function(...) { get("pkg_deps_explain_internal", asNamespace("pak"))(...) diff --git a/R/package.R b/R/package.R index 339e477c24..aba0e1b477 100644 --- a/R/package.R +++ b/R/package.R @@ -173,7 +173,7 @@ pkg_install_do_plan <- function(proposal) { #' ``` pkg_status <- function(pkg, lib = NULL) { - stopifnot(length(pkg == 1) && is.character(pkg)) + stopifnot(length(pkg) > 0L, is.character(pkg)) lib <- lib %||% lib_default() load_extra("pillar") @@ -237,7 +237,7 @@ pkg_remove_internal <- function(pkg, lib = NULL) { #' ``` pkg_deps <- function(pkg, upgrade = TRUE, dependencies = NA) { - stopifnot(is.character(pkg)) + stopifnot(length(pkg) > 0L, is.character(pkg)) load_extra("pillar") remote( function(...) { @@ -290,7 +290,7 @@ pkg_deps_internal2 <- function(pkg, upgrade, dependencies) { #' ``` pkg_deps_tree <- function(pkg, upgrade = TRUE, dependencies = NA) { - stopifnot(length(pkg == 1) && is.character(pkg)) + stopifnot(length(pkg) > 0L, is.character(pkg)) ret <- remote( function(...) { get("pkg_deps_tree_internal", asNamespace("pak"))(...) From 9cced455cb489b83c87e96b2a384fc5b6c256f14 Mon Sep 17 00:00:00 2001 From: Jordan Mark Barbone Date: Mon, 20 Jul 2026 23:42:18 -0400 Subject: [PATCH 2/4] adds news item --- NEWS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS.md b/NEWS.md index 2eb04d7cb0..113d96fad8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -52,6 +52,9 @@ environment variable or the `pkg_http_retry` option to `FALSE` to disable retries. +* `pkg_status()`, `pkg_deps_explaion()`, `pkg_deps_tree()` now check length of + `pkg` input correctly (#333, @jmbarbone) + # pak 0.10.0 * pak now supports Posit Package Manager's Sigle Sign-On authentication. From 148470116f4a7b752dc15cdc7b70553b4f603044 Mon Sep 17 00:00:00 2001 From: Jordan Mark Barbone Date: Mon, 20 Jul 2026 23:46:45 -0400 Subject: [PATCH 3/4] corrects news item --- NEWS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 113d96fad8..5a31801401 100644 --- a/NEWS.md +++ b/NEWS.md @@ -52,8 +52,8 @@ environment variable or the `pkg_http_retry` option to `FALSE` to disable retries. -* `pkg_status()`, `pkg_deps_explaion()`, `pkg_deps_tree()` now check length of - `pkg` input correctly (#333, @jmbarbone) +* `pkg_status()`, `pkg_deps()`, `pkg_deps_tree()`, `pkg_deps_explain()`, now + check length of `pkg` input correctly (#333, @jmbarbone) # pak 0.10.0 From 5bbe07db55c7acfe8e9fe4f434d83c8b29c6ae5d Mon Sep 17 00:00:00 2001 From: Jordan Mark Barbone Date: Tue, 21 Jul 2026 23:19:39 -0400 Subject: [PATCH 4/4] adds a check for `pkg_install()` --- NEWS.md | 5 +++-- R/package.R | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 5a31801401..898572333f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -52,8 +52,9 @@ environment variable or the `pkg_http_retry` option to `FALSE` to disable retries. -* `pkg_status()`, `pkg_deps()`, `pkg_deps_tree()`, `pkg_deps_explain()`, now - check length of `pkg` input correctly (#333, @jmbarbone) +* Length checks for `pkg` are improved for `pkg_status()`, `pkg_deps()`, + `pkg_deps_tree()`, `pkg_deps_explain()`, and `pkg_install()` (#333, #716, + https://github.com/r-lib//pkgdepends/issues/449, @jmbarbone) # pak 0.10.0 diff --git a/R/package.R b/R/package.R index aba0e1b477..83d400fcf5 100644 --- a/R/package.R +++ b/R/package.R @@ -78,6 +78,7 @@ pkg_install <- function( ask = interactive(), dependencies = NA ) { + stopifnot(length(pkg) > 0L) start <- Sys.time() lib <- lib %||% lib_default()