From 32bf69d9c33342d736c9016d1025c39dac1cddfa Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 11:02:05 +0200 Subject: [PATCH 1/9] Update Rcpp --- R/RcppExports.R | 6 +++--- src/RcppExports.cpp | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/R/RcppExports.R b/R/RcppExports.R index e421aeb..db508dc 100644 --- a/R/RcppExports.R +++ b/R/RcppExports.R @@ -2,14 +2,14 @@ # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 svglite_ <- function(file, bg, width, height, pointsize, standalone, aliases) { - .Call('svglite_svglite_', PACKAGE = 'svglite', file, bg, width, height, pointsize, standalone, aliases) + .Call('_svglite_svglite_', PACKAGE = 'svglite', file, bg, width, height, pointsize, standalone, aliases) } svgstring_ <- function(env, bg, width, height, pointsize, standalone, aliases) { - .Call('svglite_svgstring_', PACKAGE = 'svglite', env, bg, width, height, pointsize, standalone, aliases) + .Call('_svglite_svgstring_', PACKAGE = 'svglite', env, bg, width, height, pointsize, standalone, aliases) } get_svg_content <- function(p) { - .Call('svglite_get_svg_content', PACKAGE = 'svglite', p) + .Call('_svglite_get_svg_content', PACKAGE = 'svglite', p) } diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 1d7fb32..925bfd7 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -7,7 +7,7 @@ using namespace Rcpp; // svglite_ bool svglite_(std::string file, std::string bg, double width, double height, double pointsize, bool standalone, Rcpp::List aliases); -RcppExport SEXP svglite_svglite_(SEXP fileSEXP, SEXP bgSEXP, SEXP widthSEXP, SEXP heightSEXP, SEXP pointsizeSEXP, SEXP standaloneSEXP, SEXP aliasesSEXP) { +RcppExport SEXP _svglite_svglite_(SEXP fileSEXP, SEXP bgSEXP, SEXP widthSEXP, SEXP heightSEXP, SEXP pointsizeSEXP, SEXP standaloneSEXP, SEXP aliasesSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; @@ -24,7 +24,7 @@ END_RCPP } // svgstring_ Rcpp::XPtr svgstring_(Rcpp::Environment env, std::string bg, double width, double height, double pointsize, bool standalone, Rcpp::List aliases); -RcppExport SEXP svglite_svgstring_(SEXP envSEXP, SEXP bgSEXP, SEXP widthSEXP, SEXP heightSEXP, SEXP pointsizeSEXP, SEXP standaloneSEXP, SEXP aliasesSEXP) { +RcppExport SEXP _svglite_svgstring_(SEXP envSEXP, SEXP bgSEXP, SEXP widthSEXP, SEXP heightSEXP, SEXP pointsizeSEXP, SEXP standaloneSEXP, SEXP aliasesSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; @@ -41,7 +41,7 @@ END_RCPP } // get_svg_content std::string get_svg_content(Rcpp::XPtr p); -RcppExport SEXP svglite_get_svg_content(SEXP pSEXP) { +RcppExport SEXP _svglite_get_svg_content(SEXP pSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; @@ -52,9 +52,9 @@ END_RCPP } static const R_CallMethodDef CallEntries[] = { - {"svglite_svglite_", (DL_FUNC) &svglite_svglite_, 7}, - {"svglite_svgstring_", (DL_FUNC) &svglite_svgstring_, 7}, - {"svglite_get_svg_content", (DL_FUNC) &svglite_get_svg_content, 1}, + {"_svglite_svglite_", (DL_FUNC) &_svglite_svglite_, 7}, + {"_svglite_svgstring_", (DL_FUNC) &_svglite_svgstring_, 7}, + {"_svglite_get_svg_content", (DL_FUNC) &_svglite_get_svg_content, 1}, {NULL, NULL, 0} }; From 8a7fef7e691614b794e74920d73fdc2e405d67a5 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 11:15:57 +0200 Subject: [PATCH 2/9] Require gdtools >= 0.1.6 The CCallables have new names following gdtools update to Rcpp 0.12.12 Closes #87 --- DESCRIPTION | 2 +- NEWS.md | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 58a7da4..f62d8a6 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -20,7 +20,7 @@ Depends: R (>= 3.0.0) Imports: Rcpp, - gdtools (>= 0.1.2) + gdtools (>= 0.1.6) LinkingTo: Rcpp, gdtools, diff --git a/NEWS.md b/NEWS.md index 13cc24a..9585225 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,8 @@ # svglite 1.2.0.9000 +This release makes svglite compatible with gdtools 0.1.6. It also +includes the following changes: + * Improvements to reproducibility of generated SVGs: Negative zeros are now treated as positive, and the clip ID are now generated from truncated elements. From d9a815ab5837fd9bdfb2c4527bd7880cfea0be18 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 11:20:01 +0200 Subject: [PATCH 3/9] Update roxygen --- DESCRIPTION | 2 +- man/editSVG.Rd | 1 - man/htmlSVG.Rd | 1 - man/stringSVG.Rd | 1 - man/svglite.Rd | 11 +++++------ man/svgstring.Rd | 1 - man/xmlSVG.Rd | 1 - 7 files changed, 6 insertions(+), 12 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index f62d8a6..7c2d232 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,5 +36,5 @@ Suggests: License: GPL (>= 2) URL: https://github.com/r-lib/svglite BugReports: https://github.com/r-lib/svglite/issues -RoxygenNote: 5.0.1 +RoxygenNote: 6.0.1 VignetteBuilder: knitr diff --git a/man/editSVG.Rd b/man/editSVG.Rd index 5ddf4b5..f53de70 100644 --- a/man/editSVG.Rd +++ b/man/editSVG.Rd @@ -24,4 +24,3 @@ if (interactive()) { editSVG(contour(volcano)) } } - diff --git a/man/htmlSVG.Rd b/man/htmlSVG.Rd index 6f2ce70..5375c50 100644 --- a/man/htmlSVG.Rd +++ b/man/htmlSVG.Rd @@ -21,4 +21,3 @@ if (require("htmltools")) { htmlSVG(hist(rnorm(100))) } } - diff --git a/man/stringSVG.Rd b/man/stringSVG.Rd index 1e72f02..3a9448c 100644 --- a/man/stringSVG.Rd +++ b/man/stringSVG.Rd @@ -18,4 +18,3 @@ alternative to \code{\link{svgstring}()}. \examples{ stringSVG(plot(1:10)) } - diff --git a/man/svglite.Rd b/man/svglite.Rd index efef35e..5e8c141 100644 --- a/man/svglite.Rd +++ b/man/svglite.Rd @@ -67,11 +67,6 @@ dev.off() # See the fonts vignettes for more options to deal with fonts -} -\author{ -This driver was written by T Jake Luciani - \email{jakeluciani@yahoo.com} 2012: updated by Matthieu Decorde - \email{matthieu.decorde@ens-lyon.fr} } \references{ \emph{W3C Scalable Vector Graphics (SVG)}: @@ -80,5 +75,9 @@ This driver was written by T Jake Luciani \seealso{ \code{\link{pictex}}, \code{\link{postscript}}, \code{\link{Devices}} } +\author{ +This driver was written by T Jake Luciani + \email{jakeluciani@yahoo.com} 2012: updated by Matthieu Decorde + \email{matthieu.decorde@ens-lyon.fr} +} \keyword{device} - diff --git a/man/svgstring.Rd b/man/svgstring.Rd index cc086d7..ce26213 100644 --- a/man/svgstring.Rd +++ b/man/svgstring.Rd @@ -59,4 +59,3 @@ plot(rnorm(5), rnorm(5)) s() dev.off() } - diff --git a/man/xmlSVG.Rd b/man/xmlSVG.Rd index 739e08e..52bcb09 100644 --- a/man/xmlSVG.Rd +++ b/man/xmlSVG.Rd @@ -31,4 +31,3 @@ if (require("xml2")) { xml_find_all(x, ".//text") } } - From 783c531c51076fbb6d465a8db61e4e18f4273e4a Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 11:20:06 +0200 Subject: [PATCH 4/9] Bump to 1.2.1 --- DESCRIPTION | 2 +- NEWS.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7c2d232..578f967 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: svglite -Version: 1.2.0.9001 +Version: 1.2.1 Title: An 'SVG' Graphics Device Description: A graphics device for R that produces 'Scalable Vector Graphics'. 'svglite' is a fork of the older 'RSvgDevice' package. diff --git a/NEWS.md b/NEWS.md index 9585225..fd902ca 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# svglite 1.2.0.9000 +# svglite 1.2.1 This release makes svglite compatible with gdtools 0.1.6. It also includes the following changes: From c137acf007e55b10880afd27d4fc13c06ee3738d Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 11:47:26 +0200 Subject: [PATCH 5/9] Update revdeps --- revdep/README.md | 117 +++++++++++------------------ revdep/data.sqlite | Bin 0 -> 200704 bytes revdep/problems.md | 180 ++++++++++++++++++++++++++++++++++++++------- 3 files changed, 197 insertions(+), 100 deletions(-) create mode 100644 revdep/data.sqlite diff --git a/revdep/README.md b/revdep/README.md index d2132b0..64ec594 100644 --- a/revdep/README.md +++ b/revdep/README.md @@ -1,75 +1,44 @@ -# Setup - -## Platform - -|setting |value | -|:--------|:--------------------------------------------------| -|version |R Under development (unstable) (2016-10-26 r71594) | -|system |x86_64, darwin13.4.0 | -|ui |X11 | -|language |(EN) | -|collate |en_US.UTF-8 | -|tz |Europe/Brussels | -|date |2016-11-03 | - -## Packages - -|package |* |version |date |source | -|:---------|:--|:--------|:----------|:---------------| -|BH | |1.60.0-2 |2016-05-07 |cran (@1.60.0-) | -|covr | |2.2.1 |2016-08-10 |cran (@2.2.1) | -|gdtools | |0.1.1 |2016-11-01 |CRAN (R 3.4.0) | -|htmltools | |0.3.5 |2016-03-21 |cran (@0.3.5) | -|knitr | |1.14 |2016-08-13 |cran (@1.14) | -|Rcpp | |0.12.7 |2016-09-05 |cran (@0.12.7) | -|rmarkdown | |1.1 |2016-10-16 |cran (@1.1) | -|svglite | |1.1.0 |2016-02-09 |CRAN (R 3.2.3) | -|testthat | |0.11.0 |2015-10-14 |CRAN (R 3.2.0) | -|xml2 | |0.1.2 |2015-09-01 |CRAN (R 3.2.0) | - -# Check results - -5 packages - -|package |version | errors| warnings| notes| -|:----------|:-------|------:|--------:|-----:| -|DeLorean |1.2.4 | 0| 0| 0| -|ggplot2 |2.1.0 | 0| 0| 0| -|mlr |2.9 | 0| 0| 1| -|rsvg |1.0 | 0| 0| 0| -|svgPanZoom |0.3.3 | 0| 0| 0| - -## DeLorean (1.2.4) -Maintainer: John Reid - -0 errors | 0 warnings | 0 notes - -## ggplot2 (2.1.0) -Maintainer: Hadley Wickham -Bug reports: https://github.com/hadley/ggplot2/issues - -0 errors | 0 warnings | 0 notes - -## mlr (2.9) -Maintainer: Bernd Bischl -Bug reports: https://github.com/mlr-org/mlr/issues - -0 errors | 0 warnings | 1 note - -``` -checking package dependencies ... NOTE -Package suggested but not available for checking: ‘RRF’ -``` - -## rsvg (1.0) -Maintainer: Jeroen Ooms -Bug reports: https://github.com/jeroenooms/rsvg/issues - -0 errors | 0 warnings | 0 notes - -## svgPanZoom (0.3.3) -Maintainer: Kent Russell -Bug reports: https://github.com/timelyportfolio/svgPanZoom/issues - -0 errors | 0 warnings | 0 notes +# Platform + +|field |value | +|:--------|:----------------------------| +|version |R version 3.4.1 (2017-06-30) | +|os |macOS Sierra 10.12.6 | +|system |x86_64, darwin15.6.0 | +|ui |X11 | +|language |(EN) | +|collate |en_US.UTF-8 | +|tz |Europe/Brussels | +|date |2017-09-11 | + +# Dependencies + +|package |old |new |Δ | +|:-------|:--------|:--------|:--| +|svglite |1.2.0 |1.2.1 |* | +|BH |1.65.0-1 |1.65.0-1 | | +|gdtools |0.1.6 |0.1.6 | | +|Rcpp |0.12.12 |0.12.12 | | +|withr |NA |2.0.0 |* | + +# Revdeps + +## Couldn't check (1) + +|package |version |error |warning |note | +|:--------------------------------|:-------|:------|:-------|:----| +|[DeLorean](problems.md#delorean) |1.2.5 |__+1__ |1 | | + +## All (8) + +|package |version |error |warning |note | +|:------------------------------------|:-------|:------|:-------|:----| +|[DeLorean](problems.md#delorean) |1.2.5 |__+1__ |1 | | +|[ggExtra](problems.md#ggextra) |0.7 | | |1 | +|[ggplot2](problems.md#ggplot2) |2.2.1 | | |1 | +|[mlr](problems.md#mlr) |2.11 |1 | |1 | +|rsvg |1.1 |-1 | | | +|[svgPanZoom](problems.md#svgpanzoom) |0.3.3 | | |1 | +|vdiffr |0.2.0 |-1 | | | +|[viridis](problems.md#viridis) |0.4.0 |-1 |1 |1 | diff --git a/revdep/data.sqlite b/revdep/data.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..707de556307ebd1c0c4d11a4303c265da4359bd5 GIT binary patch literal 200704 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 + > test_check("viridis") + 1. Error: visual elements are correct (@test-viridis.R#44) --------------------- + function 'gdtools_RcppExport_validate' not provided by package 'gdtools' + 1: vdiffr::expect_doppelganger("a", A) at testthat/test-viridis.R:44 + 2: write_svg(fig, testcase, title, user_fonts) + 3: svglite::svglite(file, user_fonts = user_fonts) + 4: svglite_(file, bg, width, height, pointsize, standalone, aliases) + + testthat results ================================================================ + OK: 5 SKIPPED: 0 FAILED: 1 + 1. Error: visual elements are correct (@test-viridis.R#44) + + Error: testthat unit tests failed + Execution halted + ``` + +## In both + +* checking re-building of vignette outputs ... WARNING + ``` + ... + + Attaching package: 'raster' + + The following object is masked from 'package:colorspace': + + RGB + + Loading required package: lattice + Loading required package: latticeExtra + Loading required package: RColorBrewer + + Attaching package: 'latticeExtra' + + The following object is masked from 'package:ggplot2': + + layer + + Quitting from lines 204-213 (intro-to-viridis.Rmd) + Error: processing vignette 'intro-to-viridis.Rmd' failed with diagnostics: + Cannot create RasterLayer object from this file; perhaps you need to install rgdal first + Execution halted + ``` + +* checking dependencies in R code ... NOTE + ``` + Namespace in Imports field not imported from: ‘stats’ + All declared Imports should be used. + ``` From 51c3dbb731f1523de265e16fb642da0cc7d73392 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 12:08:45 +0200 Subject: [PATCH 6/9] Update CRAN comments --- cran-comments.md | 14 ++++++++------ revdep/README.md | 8 +------- revdep/problems.md | 5 ----- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/cran-comments.md b/cran-comments.md index c066875..fac0944 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,16 +1,18 @@ + ## Test environments -* local OS X install, R 3.3.1 -* ubuntu 12.04 (on travis-ci), R 3.3.1 + +* local OS X install, R 3.4.1 +* ubuntu 12.04 (on travis-ci), R 3.4.1 * win-builder (devel and release) + ## R CMD check results -0 errors | 0 warnings | 1 note. +0 errors | 0 warnings | 0 note -Lionel Henry is taking over as maintainer ## Downstream dependencies -* I ran R CMD check on all 5 downstream dependencies - (https://github.com/hadley/svglite/blob/master/revdep/readme.md). +* I ran R CMD check on all 8 downstream dependencies (summary at + https://github.com/r-lib/svglite/blob/master/revdep/readme.md). No problems were found. diff --git a/revdep/README.md b/revdep/README.md index 64ec594..0d9b85d 100644 --- a/revdep/README.md +++ b/revdep/README.md @@ -23,17 +23,11 @@ # Revdeps -## Couldn't check (1) - -|package |version |error |warning |note | -|:--------------------------------|:-------|:------|:-------|:----| -|[DeLorean](problems.md#delorean) |1.2.5 |__+1__ |1 | | - ## All (8) |package |version |error |warning |note | |:------------------------------------|:-------|:------|:-------|:----| -|[DeLorean](problems.md#delorean) |1.2.5 |__+1__ |1 | | +|[DeLorean](problems.md#delorean) |1.2.5 | |1 | | |[ggExtra](problems.md#ggextra) |0.7 | | |1 | |[ggplot2](problems.md#ggplot2) |2.2.1 | | |1 | |[mlr](problems.md#mlr) |2.11 |1 | |1 | diff --git a/revdep/problems.md b/revdep/problems.md index 0fd6925..33fb642 100644 --- a/revdep/problems.md +++ b/revdep/problems.md @@ -2,11 +2,6 @@ Version: 1.2.5 -## Newly broken - -* R CMD check timed out - - ## In both * checking S3 generic/method consistency ... WARNING From 78c315cd88684127c084cb19a545df4bb6f37fb7 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 12:18:50 +0200 Subject: [PATCH 7/9] Update badge URLs --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 654da0c..201a558 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # svglite -[![Travis-CI Build Status](https://travis-ci.org/r-lib/svglite.svg?branch=master)](https://travis-ci.org/r-lib/svglite) [![Coverage Status](https://img.shields.io/codecov/c/github/r-lib/svglite/master.svg)](https://codecov.io/github/r-lib/svglite?branch=master) -[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/svglite)](https://cran.r-project.org/package=svglite) +[![Build Status](https://travis-ci.org/r-lib/svglite.svg?branch=master)](https://travis-ci.org/r-lib/svglite) +[![Coverage Status](https://codecov.io/gh/r-lib/svglite/branch/master/graph/badge.svg)](https://codecov.io/github/r-lib/svglite?branch=master) +[![CRAN Status Badge](http://www.r-pkg.org/badges/version/svglite)](https://cran.r-project.org/package=svglite) svglite is a graphics device that produces clean svg output, suitable for use on the web, or hand editing. Compared to the built-in `svg()`, svglite is considerably faster, produces smaller files, and leaves text as is. From fb6a8d6f9a2da7f8f0d4a0a909fd475801fc281e Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 14:00:27 +0200 Subject: [PATCH 8/9] Fix parsing of test file on Windows For some reason testthat could no longer parse the file on win-builder or R-hub Windows because of the unicode character --- tests/testthat/test-text-fonts.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-text-fonts.R b/tests/testthat/test-text-fonts.R index a1a6c0a..407196b 100644 --- a/tests/testthat/test-text-fonts.R +++ b/tests/testthat/test-text-fonts.R @@ -74,9 +74,12 @@ test_that("metrics are computed for different fonts", { }) test_that("unicode characters in plotmath are handled", { + rho <- as.name("\u03c1") + expr <- call("*", rho, rho) + x <- xmlSVG({ plot.new() - text(0.5, 0.5, expression(ρ * ρ)) + text(0.5, 0.5, as.expression(expr)) }) text <- xml_find_all(x, ".//text") x_attr <- as.double(xml_attr(text, "x")) From ba2c6a760b839316399d33f0c73ca7bff48ec141 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Mon, 11 Sep 2017 19:32:49 +0200 Subject: [PATCH 9/9] Use development version --- DESCRIPTION | 2 +- NEWS.md | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 578f967..4344113 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: svglite -Version: 1.2.1 +Version: 1.2.1.9000 Title: An 'SVG' Graphics Device Description: A graphics device for R that produces 'Scalable Vector Graphics'. 'svglite' is a fork of the older 'RSvgDevice' package. diff --git a/NEWS.md b/NEWS.md index fd902ca..a7f29eb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,5 @@ -# svglite 1.2.1 -This release makes svglite compatible with gdtools 0.1.6. It also -includes the following changes: +# svglite 1.2.1.9000 * Improvements to reproducibility of generated SVGs: Negative zeros are now treated as positive, and the clip ID are now generated from @@ -14,6 +12,11 @@ includes the following changes: plotmath expressions (#81). +# svglite 1.2.1 + +This release makes svglite compatible with gdtools 0.1.6 + + # svglite 1.2.0 ## New features