Hello,
The source references are useful for debugging tools because they
allow linking to call sites in the source files.
I agree the output can be confusing. Perhaps this could be fixed by
tweaking the print method for calls. If the deparsed call doesn't
match the srcref, both could be displayed along with file:line:column.
```
#> f()
#> <srcref:file.R:2:3>
#> 1 + f()
```
Best,
Lionel
On 9/2/20, Antoine Fabri <antoine.fabri at gmail.com> wrote:
Dear R-devel,
I found this behavior disturbing, if `1 + f()` is called, `sys.call()`
called inside of `f` will return a quoted `f()` with a "srcref" that
"1 + f()".
I don't know which one is good but I don't think they can be correct at
same time.
Here's a reproducible example:
f <- function(){
sc <- sys.call()
print(sc)
attr(sc, "srcref") <- NULL
print(sc)
1
}
f2 <- function() {
1 + f()
}
f()
#> f()
#> f()
#> [1] 1
f2()
#> 1 + f()
#> f()
#> [1] 2
Best,
Antoine
[[alternative HTML version deleted]]