[Rd] parse() drops parse data when encountering `` (bug?)
Miles McBain
m||e@@mcb@|n @end|ng |rom gm@||@com
Fri Jul 5 13:31:31 CEST 2019
Hi,
I've noticed that partial parse data from parse() is irretrivable when it
errors due to encountering '``' - two backticks in sequence. The print
output also looks more limited than a regular parser error which leads me
to suspect this is a bug. If this is the case could someone with the
authority please add it to R's bug tracker?
My reprex follows.
Thanks,
Miles
``` r
target_text <- "foo = 1 `` {r} foo = 2"
tstfile = srcfile(tempfile())
parse(text = target_text,
keep.source = TRUE,
srcfile = tstfile)
#> Error in parse(text = target_text, keep.source = TRUE, srcfile =
tstfile): attempt to use zero-length variable name
getParseData(tstfile)
#> NULL
target_text2 <- "foo = 1 {r} foo = 2"
tstfile = srcfile(tempfile())
parse(text = target_text2,
keep.source = TRUE,
srcfile = tstfile)
#> Error in parse(text = target_text2, keep.source = TRUE, srcfile =
tstfile): /tmp/RtmpXuGaL1/file5434ebd1f95:1:9: unexpected '{'
#> 1: foo = 1 {
#> ^
getParseData(tstfile)
#> line1 col1 line2 col2 id parent token terminal text
#> 8 1 1 1 7 8 0 equal_assign FALSE
#> 1 1 1 1 3 1 3 SYMBOL TRUE foo
#> 3 1 1 1 3 3 8 expr FALSE
#> 2 1 5 1 5 2 8 EQ_ASSIGN TRUE =
#> 4 1 7 1 7 4 5 NUM_CONST TRUE 1
#> 5 1 7 1 7 5 8 expr FALSE
#> 6 1 9 1 9 6 0 '{' TRUE {
sessionInfo()
#> R version 3.6.0 (2019-04-26)
#> Platform: x86_64-pc-linux-gnu (64-bit)
#> Running under: Pop!_OS 18.10
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.8.0
#> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.8.0
#>
#> locale:
#> [1] LC_CTYPE=en_AU.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_AU.UTF-8 LC_COLLATE=en_AU.UTF-8
#> [5] LC_MONETARY=en_AU.UTF-8 LC_MESSAGES=en_AU.UTF-8
#> [7] LC_PAPER=en_AU.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> loaded via a namespace (and not attached):
#> [1] compiler_3.6.0 magrittr_1.5 tools_3.6.0 htmltools_0.3.6
#> [5] yaml_2.2.0 Rcpp_1.0.1 stringi_1.4.3 rmarkdown_1.12
#> [9] highr_0.8 knitr_1.23 stringr_1.4.0 xfun_0.8
#> [13] digest_0.6.19 evaluate_0.14
```
<sup>Created on 2019-07-05 by the [reprex package](
https://reprex.tidyverse.org) (v0.2.1)</sup>
[[alternative HTML version deleted]]
More information about the R-devel
mailing list