Always attach utils when loading data/ files#325
Open
MichaelChirico wants to merge 9 commits intor-lib:mainfrom
Open
Always attach utils when loading data/ files#325MichaelChirico wants to merge 9 commits intor-lib:mainfrom
MichaelChirico wants to merge 9 commits intor-lib:mainfrom
Conversation
MichaelChirico
commented
Mar 3, 2026
| } | ||
|
|
||
| # always attach, as utils::data does. evalq to hide library from R CMD check | ||
| evalq(library(utils)) |
Contributor
Author
There was a problem hiding this comment.
this has the side effect of editing the user's search path, of course, but I think "it's fine".
it might wind up looking comparable to instead set up a shim environment between lazydata_env and package:base that copies {utils} exports, avoiding the somewhat hacky parent.env() code below.
MichaelChirico
commented
Mar 3, 2026
| # sys.source() returns invisible() so it doesn't return the names of the | ||
| # objects it creates. We'll need to find them ourselves. | ||
| for (path in paths_r) { | ||
| old_objs <- ls(lazydata_env, all.names = TRUE) |
Contributor
Author
There was a problem hiding this comment.
Gemini went ahead and corrected that sys.source() returns NULL, thus the earlier code was not actually populating the names of the objects found.
Not sure the intended behavior; we could (a) just use the simpler approach where we ignore the names for .R files; (b) add a new regression test that the return value of load_data() is WAI; (c) do nothing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #324. Written initially by Gemini, touched up by me.
I could rewrite the test using {processx} only, if seen fit to avoid incurring the {callr} dependency.
I suspected simply
import(utils)in the {pkgload} NAMESPACE would work, but it doesn't, not quite sure why.