Commit Graph

43174 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
a156607832 Add numeric tests from Gambit.
Thanks to @gambiteer for help with them.
2021-05-20 16:31:56 -04:00
Sam Tobin-Hochstadt
0db8353d6b Add a test/compare form to the core tests infrastructure. 2021-05-20 16:31:56 -04:00
Sam Tobin-Hochstadt
abfa49d7d9 Chez Scheme: Avoid division by 0 in complex /.
Closes #3821.
2021-05-20 16:31:56 -04:00
Sam Tobin-Hochstadt
0bad9d5d8c Chez Scheme: improve rational arithmetic by using code from Gambit.
Also add special cases for (/ 1 x) and (/ -1 x) where x is a ratum.

Closes #3816.
2021-05-20 16:31:56 -04:00
Matthew Flatt
50ac429e6d launcher: repair user-scope Mac OS GUI launcher creation 2021-05-20 10:38:13 -06:00
Matthew Flatt
5e4670fc4d Chez Scheme: enable C library asinh on Windows 2021-05-20 09:24:41 -06:00
Matthew Flatt
c5fb2d19e3 doc: clarifications on pkg-dir and links-file search lists 2021-05-20 07:28:36 -06:00
Matthew Flatt
70f44d9a6c raco pkg: adjust setup for scope other than installation or user
Previously, the `raco setup` step would use `--user` and
`--avoid-main` when the scope was not specifically `installation`.
Change it to instead use those when the scop is specifically `user`.
That makes additional scopes treated more like an installation scope
than a user scope, which is consistent with how `raco setup` treats
things (i.e., link paths that are in the search path).

Overall, it seems that the idea of just layering packages in extra
scopes does not work out, and the layering needs to be built in more
deeply. That's what recent improvements for layering do. But this
change at least makes `raco pkg` and `raco setup` more consistent.

Thanks to Nate Griswold for drawing out this issue.
2021-05-20 06:36:55 -06:00
Matthew Flatt
b587fa15d3 ffi/unsafe docs: fix example to work on CS
Closes #3833
2021-05-20 06:36:47 -06:00
Cameron Moy
30cebe621a Fix error formatting for non-empty-listof contract 2021-05-19 20:02:29 -05:00
Stephen Chang
33f8635451
hash-strong? doc typo 2021-05-19 15:48:27 -04:00
Matthew Flatt
e586797164 raco setup: skip creation of redundant untethered executables
When tethering is configured for an installation layer, skip creating
untethered executables.
2021-05-19 13:12:35 -06:00
Matthew Flatt
3f5db8270e bc: add missing dependencies to makefile 2021-05-19 13:12:35 -06:00
Gustavo Massaccesi
aa7a5b9509 fix in-inclusive-range when last bound is not an explicit number 2021-05-19 16:07:04 -03:00
Stephen Chang
f2933d5ab8
hash-keys-subset? err msg typo 2021-05-19 13:56:12 -04:00
Matthew Flatt
5b163e3152 launcher: fix use of variant suffix
Repairs builds where only "racketbc" is installed (not "racket"), for
example.
2021-05-19 09:07:18 -06:00
Matthew Flatt
a40bfc5204 racket-index: fix document links for layered installations
When a layer renders new documentation that refers to a previous
layer, the redirection script was not generated as needed to reach
the previous layer.

The documentation currently implements less sharing that would be
possible across layers. For each installation layer, `raco setup`
duplicates the documentation database in "docindex.sqlite", and it
duplicates the search index, and it duplicates the local-redirection
index. That duplication avoids having to join across an an arbitrary
number of SQLite databases or chain the search and local-redirection
indexes.
2021-05-19 08:09:29 -06:00
Matthew Flatt
dfbb7040aa improve support for layered and tethered installations
Various "config.rktd" options are meant to support creating layers of
installation that builds existing layers. Configuration options also
supports a "tethering" mode that makes `raco setup` create launchers
that bind to the configration (so an environment variant doesn't have
to be set). While several pieces of this idea were in place in commit
6369e56709, it wasn't really finished, and there was no documentation
to explain how things are intended to work.

There's definitely still room for tools that automate the steps for
setting up a layer and tethering.

Along the way, this commit cleans up the `(find-system-path
'exec-file)` aspect of embedding executables as launchers to make them
consistent across platforms and work right as tethered launchers.
2021-05-18 09:38:35 -06:00
Matthew Flatt
0a9c70e95a raco dist: unbreak ELF size update 2021-05-15 15:20:28 -06:00
Matthew Flatt
304904da50 raco setup: make --clean respect --avoid-main and --no-user
Closes #1611
2021-05-15 11:13:44 -06:00
Matthew Flatt
5dc5bd7ae9 racket/class: fix serialization with class contracts
Closes #1589
2021-05-15 10:42:38 -06:00
Matthew Flatt
82789a760b solaris: make processor-count work
Related to #1572
2021-05-15 09:47:42 -06:00
Matthew Flatt
8db41608b9 ci-snapshot: use individual redirections on S3 upload
Avoid the 50-link limit for a table of redirections.
2021-05-15 09:17:02 -06:00
Matthew Flatt
ed1d9450c0 raco test: improve error for a bad config submodule
Closes #1488
2021-05-15 09:10:19 -06:00
Matthew Flatt
528f34433c docs: clarification on read-cdot and whitespace
Closes #1454
2021-05-15 08:59:54 -06:00
Matthew Flatt
cc4b956f84 cs: fix relative-path -S argument to racket 2021-05-15 08:47:15 -06:00
Matthew Flatt
0f743800e4 clean up self-path and ELF handling for embedding executables
Clean up tangled and partly repeated code, and normalize ELF use for
boot files and embedded modules. Also, repair Unix-style Mac OS
builds.

With these changes, `raco exe` should always produce a well-formed
ELF, Mach-O, or PE excutable. The mode that just appends to the end of
the executable should happen only platforms that don't use one of
those three --- which are very rare and unlikely supported, anyway.

Closes #3831
2021-05-15 06:22:02 -06:00
Robby Findler
e032be434e clean up some low-level details of read-json
- avoid blocking once we are committed to an error

- consume eof exactly when there is an error or eof is the only thing in the stream

Also to improve the testing of these two, the new test suite support
lets us carefully control what's coming out of the port, including
situations where there are eof objects with data that comes afterwards
(so we can test if an eof is consumed or not)
2021-05-13 18:33:14 -05:00
Sam Tobin-Hochstadt
e36955b5fe Re-add vm-suffixes. 2021-05-13 16:57:47 -04:00
Robby Findler
7ac6e872aa edits to make-input-port docs 2021-05-13 13:39:44 -05:00
Matthew Flatt
0063d2b06a Chez Scheme: repair new tests that need eqv? instead of eq? 2021-05-13 12:05:47 -06:00
Sam Tobin-Hochstadt
92012b80eb Generate tgz in snapshots, and use #:dist-base-version. 2021-05-13 13:18:15 -04:00
Matthew Flatt
227d48e732 Revert "try to avoid blocking once we are committed to an error"
This reverts commit 40cd1ea083,
which as added accidentally.
2021-05-13 09:21:04 -06:00
Matthew Flatt
97e9a17dac raco exe and dist: repairs for cross-bundling runtime files 2021-05-13 09:14:04 -06:00
Robby Findler
40cd1ea083 try to avoid blocking once we are committed to an error 2021-05-12 19:01:46 -06:00
Matthew Flatt
3fce07c8b5 raco pkg tests: declare a lock for the test
Declare a lock to see whether it has any effect on DrDr, where BC and
CS runs might be competing for a TCP port.
2021-05-12 18:08:30 -06:00
Matthew Flatt
13ee90da4d cs & io: fix comparison of paths with different conventions 2021-05-12 18:05:10 -06:00
Matthew Flatt
4e5254dd77 repair a serializable-cstruct test 2021-05-12 17:01:12 -06:00
Matthew Flatt
dd71fbad5a repair path test for Windows 2021-05-12 17:01:12 -06:00
Sam Tobin-Hochstadt
520a8e0ac6 Adjust naming to match the main download page. 2021-05-12 17:55:50 -04:00
Matthew Flatt
2ac7e21ad4 change collection-links format to avoid paths as strings
Converting between strings and paths interferes with cross
compilation. This hasn't caused more problems only because cross
compilation has tended to run on Unix platforms, where the generated
paths are acceptable to Windows. But using strings goes wrong when
manipulating a Windows-based build for further cross-build actions on
Unix, and it can go wrong if paths contain bytes that cannot be
encoded in strings.
2021-05-12 15:24:04 -06:00
Cameron Moy
a7ddec9573 Support pattern matching of stream and stream* 2021-05-12 16:47:05 -04:00
Sam Tobin-Hochstadt
5985d5559d
Update further permissions. 2021-05-12 15:30:33 -04:00
Sam Tobin-Hochstadt
223b96404e
Fix permissions.
See https://github.com/github/codeql-action/issues/464
2021-05-12 14:10:26 -04:00
Sam Tobin-Hochstadt
4814d36639 Omit date from build stamp. 2021-05-12 13:57:24 -04:00
Matthew Flatt
8b4b6cfaec fix some -1 exit codes
On Windows, exit(-1) counts as success instead of failure.
2021-05-11 16:51:04 -06:00
Matthew Flatt
391b5579f4 raco exe: fix default compiler for cross mode
The compiler for an embedding executable, as opposed to a separate
bundle file, didn't adapt to cross-multi mode.
2021-05-11 16:20:22 -06:00
Matthew Flatt
6e50aa088b expander: fix eval of machine-independent top-level begin 2021-05-11 16:20:22 -06:00
Paulo Matos
f462ac6a31
Fix warning about git checkout HEAD^2 (#3829)
Currently CI is warning that this step is no longer needed, so remove
it.
2021-05-11 22:26:47 +02:00
Matthew Flatt
274eb82deb Chez Scheme: sync test expected errors 2021-05-11 04:19:59 -06:00