[Rd] [External] defer removal of ENCLOS, FRAME, HASHTAB, SET_ENCLOS?
Kevin Ushey
kev|nu@hey @end|ng |rom gm@||@com
Sun Mar 22 22:21:35 CET 2026
Hi Luke,
Thank you for responding so quickly; it's much appreciated. I've
messaged you separately for a small collection of API requests that I
figure we can discuss off-list first.
Best,
Kevin
On Sun, Mar 22, 2026 at 12:05 PM <luke-tierney using uiowa.edu> wrote:
>
> On Fri, 20 Mar 2026, Kevin Ushey wrote:
>
> > Hi,
> >
> > The development version of R removes the symbols
> >
> > ENCLOS, FRAME, HASHTAB, SET_ENCLOS
> >
> > as per r89522. Unfortunately, these symbols are used by current
> > versions of RStudio, and so these versions of RStudio are unable to
> > launch with the development versions of R. (By extension, they would
> > also fail to launch using R 4.6.0 when released.)
> >
> > On the RStudio side, we can work to adapt to these changes as quickly
> > as possible, but our experience is that users will often upgrade R
> > without necessarily upgrading RStudio in tandem.
> >
> > I'd like to propose keeping these symbols defined in R for now (even
> > if not publicly accessible via headers) just to ensure existing
> > versions of RStudio can continue to function as expected with the
> > upcoming release of R.
>
> I have removed the 'attribute_hidden' property from these entry points
> for now in r89673. I also added tools:::checkObjAPI to make it easier
> fo check for non-API useage in executables linked to R. For current
> R-devel and current RStudio on my mac this gives
>
> > rs <- "/Applications/RStudio.app/Contents/Resources/app/bin/rsession-arm64"
> > subset(tools:::checkObjAPI(rs), type == "F" & is.na(apitype))$name
> [1] "ATTRIB" "BODY" "CLOENV"
> [4] "ENCLOS" "FORMALS" "FRAME"
> [7] "HASHTAB" "locale2charset" "NAMED"
> [10] "OBJECT" "PRCODE" "PRENV"
> [13] "PRVALUE" "R_findVarLocInFrame" "R_lsInternal"
> [16] "RDEBUG" "Rf_findVar" "Rf_findVarInFrame"
> [19] "Rf_findVarInFrame3" "Rf_sortVector" "SET_ENCLOS"
> [22] "SET_NAMED" "SET_PRVALUE" "SET_RDEBUG"
> [25] "SYMVALUE"
> > subset(tools:::checkObjAPI(rs), type == "V" & is.na(apitype))$name
> [1] "R_InputHandlers" "R_SignalHandlers" "SaveAction"
>
> If you think some of these should be in the API you can make a case
> for that.
>
> Best,
>
> luke
>
> >
> > Thanks,
> > Kevin
> >
> > ______________________________________________
> > R-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
>
> --
> Luke Tierney
> Ralph E. Wareham Professor of Mathematical Sciences
> University of Iowa Phone: 319-335-3386
> Department of Statistics and Fax: 319-335-3017
> Actuarial Science
> 241 Schaeffer Hall email: luke-tierney using uiowa.edu
> Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu/
More information about the R-devel
mailing list