[Rd] Inconsistency between eval and withVisible (with patch)
Gabriel Becker
gmbecker at ucdavis.edu
Thu Aug 15 01:46:31 CEST 2013
R-team,
The $value element of the return value of *withVisible* does not agree with
the return value of *eval* when *withVisible* is passed a variable (symbol)
containing an expression object or anonymous code/expressions which
generates an expression object when evaluated (such as calls to *parse* or *
expression*).
I have attached a patch against the svn trunk which addresses this.
Example (under devel r63577):
> withVisible(parse(text="5+pi"))
$value
*expression(5+pi)*
$visible
[1] TRUE
> eval(parse(text="5+pi"))
*[1] 8.141593*
With the attached patch this is no longer the case:
> withVisible(parse(text="5+pi"))
$value
*[1] 8.141593*
$visible
[1] TRUE
The patch changes only the withVisible function in eval.c. I'm happy to
work with / at the direction of an R-core member to get the patch into an
different form/coding style/fix strategy/etc if its current form is not
acceptable.
Thanks,
~G
> sessionInfo()
R Under development (unstable) (2013-08-14 r63577)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
--
Gabriel Becker
Graduate Student
Statistics Department
University of California, Davis
More information about the R-devel
mailing list