[Rd] Unsigned binary

2022-06-08 Thread Scott McAllister
Good afternoon

Are you aware that the current release of R for Windows (4.2.0) is unsigned? Do 
you have any plans to rectify this ?

Thanks,

Scott McAllister - Support Engineer
Rate Your Experience: Great | 
Good | 
Poor
Support Session: 30 Minutes | 60 
Minutes
Learn More: Live Demo | Setup 
Call | Review 
Call | 
Trial | 
Quote
Follow Us: Twitter | 
LinkedIn
Sales and Support: + 1-866-343-3083
[Sent from Front]

[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] trace() an S3-classed function in .GlobalEnv

2022-06-08 Thread Michael Chirico
Thanks, that seems like a reasonable assessment.

Also worth noting that tracing wipes out a function's attributes,
which is also not documented:

foo = function(x) {
  invisible(1 + 1)
}
attr(foo, "bar") <- 2

trace(foo, quote(message('traced')))
names(attributes(foo))
# [1] "original" "source"   "class"

PS one day I hope to master the dark art of choosing r-devel or
bugzilla for issues :)

On Wed, Jun 8, 2022 at 3:44 AM Martin Maechler
 wrote:
>
> > Michael Chirico
> > on Mon, 6 Jun 2022 23:09:29 -0700 writes:
>
> > Consider:
>
> > foo <- function() {
> > invisible(1 + 1)
> > }
> > trace(foo, quote(message("traced")), print=FALSE)
> > foo()
> > # traced
>
> > But with a minimal change:
>
> > class(foo) <- "bar"
> > trace(foo, quote(message("traced")), print=FALSE)
> > # Constructing traceable class “barWithTrace”
> > # Error in .classEnv(className) :
> > #   unable to find an environment containing class “bar”
>
> > I don't see anything like this mentioned in ?trace (nor does a Google
> > search turn up more than a handful of references to this error),
> > and from trying to debug what trace() is doing, we arrive to the error 
> line[1]:
>
> > .makeTraceClass(traceClass, class(original))  #
> > methods:::.makeTraceClass("barWithTrace", "bar")
>
> > I don't quite follow what's going on here, but it looks like trace()
> > is trying to determine an S4 class definition for "bar", but isS4(bar)
> > is FALSE.
>
> > I can (apparently -- not sure if there are as yet-unseen downstream
> > consequences) work around the issue by unsetting the class, tracing,
> > then re-setting:
>
> > class(foo) <- NULL
> > trace(foo, quote(message("traced")), print=FALSE)
> > class(foo) <- "bar"
>
> > But obviously this is a bit clunky. Is this a bug, or am I missing 
> something?
>
> Just a short note of  semi-confirmation:
>
> At the time S4 generics and methods were introduced into R,
> trace() was made much more flexible, notably to be able to trace
> S4 methods.
>
> It can well be that it originally also worked for functions with
> an explicit S3 class, but as such functions are very rare, it
> could well be you've found a bug, namely that trace() assumes
> that if a function has a non-trivial class, it must be an S4
> one.
>
> ... and I know you know how to report bugs ;-)
>
> Thank you in advance!
> Martin
>
> > Mike C
>
> > [1] 
> https://github.com/r-devel/r-svn/blob/e2a64a4e14adbc4e9e8635eaa8cbd2835ce1d764/src/library/methods/R/trace.R#L240
>
> > __
> > R-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel