Hi everyone,

I have a question.

Given the address of an object ("address" in the sense given by, for example, 
"data.table::address()"), is it possible to check if any binding in any 
environment pointing to that address is locked?
So a function similar to "bindingIsLocked()", except the function checks all 
bindings sharing the same address, instead of checking a binding by name in a 
specific environment.

One use-case for this is to check if it's save to modify an object by reference.
For example, when saying x <- base::letters, x is not save to modify by 
reference:
Although the binding of x itself is not locked, the binding of base::letters is 
locked, and we obviously don't want to modify base::letters.

It should be possible, I think. R has a few pass-by-reference classes (like 
environments), so R should be able to check something like this. I just have no 
idea how exactly R checks this.

Thanks in advance for any response!

Kind regards,

Tony



        [[alternative HTML version deleted]]

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

Reply via email to