>>>>> William Dunlap via R-devel >>>>> on Thu, 16 May 2019 11:56:45 -0700 writes:
> In R-3.6.0 autoprinting was changed so that print methods for the storage > modes are not called when there is no explicit class attribute. E.g., > % R-3.6.0 --vanilla --quiet >> print.function <- function(x, ...) { cat("Function with argument list "); > cat(sep="\n ", head(deparse(args(x)), -1)); invisible(x) } >> f <- function(x, ...) { sum( x * seq_along(x) ) } >> f > function(x, ...) { sum( x * seq_along(x) ) } >> print(f) > Function with argument list function (x, ...) > Previous to R-3.6.0 autoprinting did call such methods > % R-3.5.3 --vanilla --quiet >> print.function <- function(x, ...) { cat("Function with argument list "); > cat(sep="\n ", head(deparse(args(x)), -1)); invisible(x) } >> f <- function(x, ...) { sum( x * seq_along(x) ) } >> f > Function with argument list function (x, ...) >> print(f) > Function with argument list function (x, ...) > Was this intentional? No, it was not. ... and I've been the one committing the wrong change. ... Related to the NEWS entries which start "Changes in print.*() ...." Thank you Bill, for reporting.... It's amazing this has not been detected earlier by anybody. I think it is *only* for functions, not general print.<storagemode>() as you were suggesting - right? Martin ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel