forked from racket/racket
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Guide: Racket Essentials translated. #6
Merged
Conversation
This file contains 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
Using a frame pointer for the ABI of internal helper functions should make the stack friendlier to tools like `perf`. There may be a small performance cost, though.
struct-out was putting the super-struct's accessors into two parts of a struct-info: the accessor list and the mutator list this commit puts the accessors only in the accessor list and the mutators in the mutator list
This repair was motivated by tests in the "rex" package. The new test added here failed before by finding 'new both times, but in the "rex" case, the mixup led to the same variable being imported and exported at the linklet level.
Bind variables in a way that allows `local-expand` (with an empty stop list) to replace a reference to the binding with one that has the same scopes as the binding.
* When you delete a file in Windows, then the name doesn't go away until the file is closed in all processes (and background tasks like search indexing may open files behind your back). Worse, attempting to create a new file with the same name reports a permission error, not a file-exists error; there's seems to be no way to tell whether a permission error was really a file-exists error. This creates trouble for `make-temporary-file` when files are created, deleted, and created again quickly enough and when something like a search indexer runs in the background (which is the usual Windows configuration). In practice, that kind of collision happens often for `raco setup` on my machine. To compensate, make `make-temporary-file` try up to 32 times on a permission error. A collision that many times seems extremely unlikely, and it seems ok to delay an actual permission error. Windows provides a GetTempFileName function from "kernel.dll" that must be able to deal with this somehow --- perhaps because it's in the kernel --- but it doesn't solve the problem for making temporary directories, hence the 32-tries approach for now. * When a deleted file's name persists because the file is open in some process, then a directory containing the file cannot be deleted. This creates trouble for `delete-directory/files`, since `delete-file` on a directory's content doesn't necessarily make the directory empty. In practice, this happens often for package upgrades on my machine, where the package system wants to delete a short-lived working space that the indexer is trying to scan. To compenstate, change `delete-directory/files` to delete a file by first moving it to the temporary directory with a fresh name, and then delete the file there. It may take a while for a file to disappear from the temporary directory, but meanwhile it's not in the way of the original enclosing directory. * When a file is open by any process, it prevents renaming any ancestor directory of the file. This creates trouble for the package system, which installs a package by unpacking it in a temporary place and then moving it by renaming. The package system also removes a package by renaming it to a subdirectory of a ".trash" directory. If a background indexer has a package file open, the move fails. In practice, a move fails often on my machine when I'm attempting to upgrade many packages. To compensate, make the package system fall back to copy + delete if moving fails with a permission error.
* Guide: Welcome translated.
# Conflicts: # racket/src/racket/src/startup.inc
# Conflicts: # racket/src/racket/src/startup.inc
啊..独立的 branch 果然不能先 merge master = =|| |
OlingCat
added a commit
that referenced
this pull request
Jun 18, 2018
* Guide:simple-data translated. * Guide:simple-syntax translated. * Guide: lists translated. * Guide: truth translated.
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.
No description provided.