From 7602447b0d9a656245007780c9b10a679c2dcce0 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Thu, 22 May 2025 10:10:53 +0200 Subject: [PATCH 1/2] use regular concatenation --- R/scale-.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/scale-.R b/R/scale-.R index 5cf652e5c2..007cd59a4a 100644 --- a/R/scale-.R +++ b/R/scale-.R @@ -1311,7 +1311,7 @@ ScaleDiscrete <- ggproto("ScaleDiscrete", Scale, pal <- vec_set_names(pal, NULL) limits <- pal_names } - pal <- vec_c(pal, na_value) + pal <- c(pal, na_value) pal_match <- vec_slice(pal, match(as.character(x), limits, nomatch = vec_size(pal))) From 28e97ce4a6115f4a771576f46694030d64394bf8 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Thu, 22 May 2025 10:34:49 +0200 Subject: [PATCH 2/2] alright fine, *sometimes* use `vec_c()` jeez --- R/scale-.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/R/scale-.R b/R/scale-.R index 007cd59a4a..4fb8c00dcb 100644 --- a/R/scale-.R +++ b/R/scale-.R @@ -1311,7 +1311,10 @@ ScaleDiscrete <- ggproto("ScaleDiscrete", Scale, pal <- vec_set_names(pal, NULL) limits <- pal_names } - pal <- c(pal, na_value) + + # vec_c is too strict in some cases, but we do want to allow 2D structures + pal <- if (is.null(dim(pal))) c(pal, na_value) else vec_c(pal, na_value) + pal_match <- vec_slice(pal, match(as.character(x), limits, nomatch = vec_size(pal)))