The Racket repository
![]() In a file-stream output port or TCP output port, when flushing encounters an error, consistently discard bytes in the buffer. This isn't the obviously right choice, but otherwise a future flush attempt (including one triggered by trying to close the port or one triggered by a plumber) will likely just fail again, which is probably worse than dropping bytes. Also, fix related problems/inconsistencies. Overall changes: * For traditional Racket, discard bytes in a TCP port when flushing fails. * For Racket CS, discard bytes in file-stream and TCP output ports when flushing fails. * For traditional Racket, when a file-stream port flush is interrupted by an asynchronous break, *don't* discard buffered bytes. * For Racket CS, don't register TCP ports with the current plumber. |
||
---|---|---|
.github | ||
.gitlab | ||
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.mailmap | ||
.travis.yml | ||
appveyor.yml | ||
azure-pipelines.yml | ||
CONTRIBUTING.md | ||
INSTALL.txt | ||
LICENSE-APACHE.txt | ||
LICENSE-MIT.txt | ||
LICENSE.txt | ||
Makefile | ||
README.md |
This is the source code for the core of Racket. See "INSTALL.txt" for full information on building Racket.
To build the full Racket distribution from this repository, run make
in the top-level directory. To build minimal Racket, run make base
.
The rest of the Racket distribution source code is in other repositories, mostly under the Racket GitHub organization.
Contribute to Racket by submitting a pull request, joining the development mailing list, or visiting the IRC or Slack channels.
Racket is free software; see "COPYRIGHT" and "CONTRIBUTING.md" for more details.