@@ -189,7 +189,7 @@ RecordArgs <- function(ExportPath = NULL, call = NULL, env = NULL) {
189189
190190 # Identify which arguments have identical unevaluated and evaluated values
191191 # - Calls (e.g., a + b) are always different
192- # - Symbols (e.g., i in loops) are treated as matching their evaluated scalar
192+ # - Symbols (e.g., i in loops) match their evaluated scalar
193193 # - Scalars and defaults are compared directly
194194 same_values <- purrr :: map2_lgl(
195195 # Coerce pairlist to list for purrr compatibility
@@ -199,7 +199,7 @@ RecordArgs <- function(ExportPath = NULL, call = NULL, env = NULL) {
199199 # Calls always differ from evaluated
200200 if (is.call(u )) return (FALSE )
201201 # Symbols match their evaluated value
202- if (is.symbol(u )) return (identical(e , e ))
202+ if (is.symbol(u )) return (identical(u , e ))
203203 # Direct comparison for scalars and defaults
204204 identical(u , e )
205205 })
@@ -281,10 +281,18 @@ RecordArgs <- function(ExportPath = NULL, call = NULL, env = NULL) {
281281
282282 # Combine all values into a named list for tibble construction
283283 tibble_data <- c(
284- # Unevaluated differing values
285- stats :: setNames(uneval_values [diff_cols ], uneval_cols ),
286- # Evaluated differing values
287- stats :: setNames(eval_values [diff_cols ], eval_cols ),
284+ # Unevaluated differing values, only if diff_cols is non-empty
285+ if (length(diff_cols ) > 0 ) {
286+ stats :: setNames(uneval_values [diff_cols ], uneval_cols )
287+ } else {
288+ NULL
289+ },
290+ # Evaluated differing values, only if diff_cols is non-empty
291+ if (length(diff_cols ) > 0 ) {
292+ stats :: setNames(eval_values [diff_cols ], eval_cols )
293+ } else {
294+ NULL
295+ },
288296 # Single columns for matching values
289297 stats :: setNames(eval_values [single_cols ], single_cols ))
290298
0 commit comments