wholeSrcref attribute is documented in ?parse to be the source reference
corresponding to the already parsed text. The implementation in the
parser matches the documentation - the code stops at the last
byte/character of the expression, that is, on the closing brace - which
is the "already parsed text". I think this works as documented (also
source() uses the current implementation of wholeSrcref).
Best
Tomas
On 06/18/2018 04:20 PM, Georgi Boshnakov wrote:
Hi,
The result of as,character() on 'srcref' objects doesn't have the closing ')'
in some cases involving 'quote':
e4 <- quote({2+2})
class(attr(e4, "wholeSrcref"))
[1] "srcref"
as.character(attr(e4, "wholeSrcref"))
[1] "e4 <- quote({2+2}"
As a result printing the object also lacks it and gives an incomplete
expression:
attr(e4, "wholeSrcref")
e4 <- quote({2+2}
It seems that it is the top level quote that suffers from this. Here the inner
'quote' has the matching ')' but the outer one doesn't:
e5 <- quote({quote({2+2})})
class(attr(e5, "wholeSrcref"))
[1] "srcref"
attr(e5, "wholeSrcref")
e5 <- quote({quote({2+2})}
as.character(attr(e5, "wholeSrcref"))
[1] "e5 <- quote({quote({2+2})}"
attributes(e5)
...
$wholeSrcref
e5 <- quote({quote({2+2})}
Attribute 'wholeSrcref' seems undocumented but it is of class 'srcref' which is
documented (eg ?srcref) and has supporting methods.
Georgi Boshnakov
[[alternative HTML version deleted]]
______________________________________________
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