-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
file.rename() issue when rendering to another device #804
Comments
I'm hitting this issue as well. It seems here: Line 537 in 5dcce03
and here: Line 218 in 5dcce03
I am trying to run the build in docker with the source and the build target as separately mounted volumes. I'll post a full MRE when I have a bit more time on my hands. Session Info
|
@yihui should we have a |
Yes, I can do that, but |
… rename files across different disk volumes
Should be fixed now. You can install the development versions via install.packages('xfun', repos = 'https://yihui.r-universe.dev')
install.packages('bookdown', repos = 'https://rstudio.r-universe.dev', type = 'source') I can make new CRAN releases after you confirm that the fix works for you. Thanks! |
This appears to have broken my daily builds of the mastering shiny book: https://github.com/hadley/mastering-shiny/actions/runs/11196949315/job/31126358848. Hmmmm, probably because bookdown doesn't require xfun 0.48, so the GHA install is falling back to an install from the most recent binary. So maybe this will resolve itself in a few days. |
Bumped xfun version and this should be fixed now. Thanks! |
Thank you!! |
@yihui Installing the dev version way you suggest results in:
However, with |
@katrinabrock Oh, that was because r-universe failed to build bookdown last night (since xfun 0.48 was just released to CRAN a couple of days ago). If installing from Github works, I think the bug was indeed fixed. Thanks for the confirmation! |
Arnaud Gallou (1): Remove `installed.packages()` usage and call `tools::standard_package_names()` instead (#91) Yihui Xie (27): start the next version add .r and .rmd to the mimemap let [] return NULL instead of list() take advantage of the `bytes` argument of tools::md5sum() if available: wch/r-source@c91b845 add a function mime_type(), which doesn't have to depend on the mime package, because MIME types could be obtained from system commands need to add System.Web before using the class it's also possible to call the `file` command on Windows (if Cygwin or Rtools is installed) if the mime type returned from command line doesn't appear to be valid, don't cache it but issue a warning instead use tools:::mime_type() if possible, and leave command-line as the last resort fix yihui/litedown#29: call browseURL() to open the app (getOptions('browser') is not a function in a normal R session outside RStudio) fix yihui/litedown#30: keep guess_type() until the next release of litedown follow the suggestion at yihui/litedown#30 (comment) to print the URL of the app (unless open = FALSE) partially revert 5557263bfd064efcfe7f241f094f8e5b73e427c8: base64_uri() no longer requires the mime package the mime package is no longer required add a method record_print.record_asis(), which is an identity function rename .ps1 to .txt to bypass the security scan on certain platforms (sigh...) add tests for .mime_cmd() make sure the powershell script is tested on windows not sure who is dumber revert fa1e0f15dec0f63bd648cf5afb50132691e2fe70: the URL is an implementation detail, and based on private API, so probably should be hidden from users by default; if they really want to see the URL, they should explicitly print it add new functions html_tag(), html_value(), html_escape(), and html_view() and remove dependency on htmltools add a function file_rename() for rstudio/bookdown#804 add tests for file_rename() remove dependency on {markdown}, and switch to litedown url redirect just get rid of this URL since I trip on it every time I submit to CRAN CRAN release v0.48
# CHANGES IN xfun VERSION 0.48 - Added utilities for HTML tags: `html_tag()`, `html_escape()`, `html_escape()`, and `html_view()`. Removed the soft dependency on the **htmltools** package accordingly. - `base_pkgs()` is faster now: it calls `tools::standard_package_names()` if the function exists (R >= 4.4.0), otherwise it just returns a constant vector of base package names (thanks, @arnaudgallou, #91). - Added a function `mime_type()` to obtain the MIME types of files via `mime::guess_type()` if **mime** is installed, otherwise it will call `tools:::mime_type()`, and fall back to using a system command (e.g., `file --mime-type`) to obtain the types. - Added a function `file_rename()` to deal with `file.rename()` failures by calling `file.copy()` (thanks, @Giqles @katrinabrock, rstudio/bookdown#804). - `new_app()` will use `utils::browseURL()` to open the app if `options('viewer')` is not configured (thanks, @AlbertLei, yihui/litedown#29). - Added a method `record_print.record_asis()` to return the object as is. # CHANGES IN xfun VERSION 0.47 - Added functions `lazy_save()` and `lazy_load()` to save objects to files and lazy-load them. - Fixed a bug in `record(dev = svglite::svglite)` that misplaced plots when low-level plot functions are used (thanks, @liao961120, yihui/litedown#17). - Specified the lowest R version required (v3.2.0) for this package. # CHANGES IN xfun VERSION 0.46 - `md_table()` should add a vertical ellipsis to row names when rows are truncated by the `limit` argument. - `session_info()` recognizes Positron now (thanks, @chuxinyuan, #89). # CHANGES IN xfun VERSION 0.45 - For `record()` with `verbose = 1` or `2`, invisible `NULL` is no longer printed. - `Rscript_call()` will show the actual error message (if an error occurred) during calling the function in a new R session. # CHANGES IN xfun VERSION 0.44 - Added a function `cache_exec()` to cache the execution of an expression either in memory or on disk. It is much more general and flexible than `cache_rds()`. For example, it supports custom reading/writing methods for cache files, and can load locally created variables in the expression while loading cache. - Added an argument `cache` to `record()` to make it possible to enable caching. - Added arguments `message` and `warning` to `record()` to decide whether messages and warnings should be recorded. - Changed the default value of the argument `error` of `record()` from `FALSE` to `NA`. Now `FALSE` means to suppress error messages, and `NA` means to throw errors normally. This is for consistency with the `message` and `warning` arguments. - Added an S3 generic function `record_print()`, which is similar to `knitr::knit_print()` but for the purpose of printing visible values in `record()`. - The `record()` function gained new arguments `print` and `print.args` to support custom printing functions and arguments. - Added a function `md_table()`, which is a minimal Markdown table generator. - Exported the internal function `md5()` to calculate the MD5 checksums of R objects. The function is essentially a workaround for `tools::md5sum()` (see HenrikBengtsson/Wishlist-for-R#21). - For `fenced_block()`, a space is added between the backticks and the language name, e.g., ```` ```r ```` has become ```` ``` r ```` now. This will affect snapshot tests based on Markdown ([an example](yihui/knitr-examples@931e0a2)). - Added a shorthand `fenced_div()` for `fenced_block(char = ':')`. - `write_utf8()` returns the `con` argument (typically a file path) now. Previously, it returns `NULL`. - Added an experimental function `new_app()` to create a local web application. - The returned value of `yaml_body()` contains a new element `lines` in the list indicating the line numbers of YAML metadata if exists. - Removed the `skip` argument from `split_source()`. - For `split_source(line_number = TRUE)`, the attribute name for line numbers in the returned value was changed from `line_start` (a single starting line number) to `lines` (both the starting and ending numbers). - Fixed an edge case in `prose_index()`, in which inline code was incorrectly recognized as a code block fence. # CHANGES IN xfun VERSION 0.43 - Added a function `upload_imgur()`, which was adapted from `knitr::imgur_upload()`. The latter will call the former in the future. `xfun::upload_imgur()` allows users to choose whether to use the system command `curl` or the R package **curl** to upload the image. It also has a new argument `include_xml` to specify whether the XML response needs to be included in the returned value. - Added a function `fenced_block()` to create a fenced block in Markdown (thanks, @cderv, yihui/knitr#2331). The block can be either a code block or a fenced Div. - Fixed a bug in `xfun::record()` when the argument `verbose = 1` or `2`.
I think as reported under rmarkdown#705 and rmarkdown#1288, the use of
file.rename()
to move outputs tooutput_dir
can cause problems. There is a suggested method to fix in those issues; using a fallback tofile.copy()
as in yourtinytex
packageBy filing an issue to this repo, I promise that
xfun::session_info('bookdown')
. I have upgraded all my packages to their latest versions (e.g., R, RStudio, and R packages), and also tried the development version:remotes::install_github('rstudio/bookdown')
.I understand that my issue may be closed if I don't fulfill my promises.
The text was updated successfully, but these errors were encountered: