[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