From ||one| @end|ng |rom r@tud|o@com  Thu Feb 21 12:27:11 2019
From: ||one| @end|ng |rom r@tud|o@com (Lionel Henry)
Date: Thu, 21 Feb 2019 12:27:11 +0100
Subject: [Rd] Bug in print.default: dispatches to global show instead of
 methods::show
In-Reply-To: <CA+j8Z+kxiwaTZv-bLEVo_OdkT3s_Jhw0y+GqCKwZZ-CaFgn-_Q@mail.gmail.com>
References: <CA+j8Z+kxiwaTZv-bLEVo_OdkT3s_Jhw0y+GqCKwZZ-CaFgn-_Q@mail.gmail.com>
Message-ID: <AFE7E38A-3E42-4A20-9FAD-209AB44F3100@rstudio.com>

Hello,

This is already fixed in r-devel, I think by this commit:

https://github.com/wch/r-source/commit/b59a1526085d1b4375b184d35118c6fd6f003912#diff-12de104c9320556f0e99da345c6fb259 <https://github.com/wch/r-source/commit/b59a1526085d1b4375b184d35118c6fd6f003912#diff-12de104c9320556f0e99da345c6fb259>

Best,
Lionel

> On 21 Feb 2019, at 00:07, Dean Attali <daattali at gmail.com> wrote:
> 
> This is related to a problem that was fixed in 2015
> https://github.com/wch/r-source/commit/38ea40dcd0353af16d35296ee621338c49ae48c9
> The problem then was that auto-printing by typing an object to the console
> would search for show() in the globalenv instead of in the methods
> namespace.
> 
> The problem I would like to report is that it seems that when an S4 object
> is printed with print(), a similar issue happens. I do realize that S4
> objects should be printed with show() rather than print(), which would
> solve the issue, but this still seems like a bug to me.
> 
> Example:
> 
> library(methods)
> show <- function(...) message("hijacked!")
> setClass("Test", representation(test = "character"))
> test <- new("Test")
> print(test)
> # hijacked!
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


	[[alternative HTML version deleted]]



[Rd] Bug in print.default: dispatches to global show instead of methods::show
Lionel Henry