Commit Graph

39518 Commits

Author SHA1 Message Date
Matthew Flatt
de98529c13 cs configure: support SDK options
For example, enable a 32-bit Mac OS build.
2018-10-21 05:59:00 -06:00
Matthew Flatt
3591a685fc reorganize configure to better support racketcs
Rearrange the configure scripts so that it will be possible to build
RacketCS from a source distribution and have it installed in the right
place. Also, when building Racket3m just to bootstrap RacketCS, don't
install Racket3m.
2018-10-20 20:19:36 -06:00
Matthew Flatt
0f18df2c1a makefile: set up for cs client build 2018-10-20 20:19:36 -06:00
Matthew Flatt
18f7b96828 makefile: add way to build RacketCS as racket 2018-10-19 11:19:44 -06:00
Matthew Flatt
8f7a5b6dd5 Add Racket HISTORY.txt note for v7.1 2018-10-19 07:42:55 -06:00
Matthew Flatt
b1dfb61223 racocs exe: fill in implementation 2018-10-17 12:55:53 -06:00
Paulo Matos
703deedb66 Avoid integer overflow
A runtime error was detecting and overflow on e which this fixes.
Fixes part of #2314.
2018-10-17 07:57:39 -06:00
Matthew Flatt
eb6705be3c thread: fix futures in a non-main place 2018-10-17 07:41:38 -06:00
Matthew Flatt
65e464e626 cs: fix concurrency problems in prefabs & interned datums 2018-10-17 07:41:38 -06:00
Alexis King
86bb85931d units: Fix an improper use of syntax instead of quote-syntax 2018-10-16 18:23:13 -05:00
Alexis King
5fb75e9f82 Fix handling of the scopes of contracted signature bindings
fixes #1652
2018-10-16 16:52:45 -05:00
Matthew Flatt
8b22ebbfbe cify: fix more GC problems 2018-10-16 15:03:45 -06:00
Paulo Matos
6d7ab42b56 Fix fasl read fasl string.
Add a new test for the failing case.
2018-10-16 09:29:55 -06:00
Matthew Flatt
a7ae05a414 thread: fix place-channel ephemeron problem
Retains a strong link to a place-channel write end when there's at
least one waiting thread. This is symmetic to keeping a strong link to
the read end when the place-channel queue is non-empty. The change
repairs a problem building documentation with places in `racocs
setup`.
2018-10-16 09:29:55 -06:00
Paulo Matos
c78787a259 Simplify copy-port
Simplify copy-port by removing the several `(let loop...` constructs.
2018-10-16 09:26:41 -06:00
Paulo Matos
f85810ddb5 Fix reference to root-module-path 2018-10-16 09:25:03 -06:00
Matthew Flatt
fa6bd87bcd jit: fix nary unsafe-{fx,fl}{=,<,>,<=,>=}
Fix a incorrectly nested "tiny jump" mode that turned off the
surrounding "short jump" mode.

Closes #2313
2018-10-15 21:03:57 -06:00
Matthew Flatt
e9855fa64f cs: fix assignment to auto struct fields 2018-10-15 17:22:14 -06:00
Matthew Flatt
c347bc0c99 cs: clone ChezScheme repo with --depth 1 2018-10-15 17:22:11 -06:00
Matthew Flatt
f9a69105bc cs: small repairs for chaperones
The "struct.rktl" and "chaperone.rktl" tests now pass.
2018-10-15 08:52:13 -06:00
Matthew Flatt
7bb3750ebc cs: fix some structure and imperonsator problems 2018-10-15 08:52:13 -06:00
Matthew Flatt
2b39e61c4e cs, thread, io: fix problems with evt chaperones 2018-10-15 08:52:13 -06:00
Matthew Flatt
7ecb663a6f cs: fix procedure-name problems 2018-10-15 08:52:13 -06:00
Ryan Culpepper
2166c56179 fix typo in error message 2018-10-15 10:50:59 +02:00
Matthew Flatt
48f7082bdc cs: fix problems with procedures, arity, and impersonators 2018-10-13 13:06:06 -04:00
Matthew Flatt
2051bdfc6a schemify: don't incorrectly inline a recursive function 2018-10-13 13:06:06 -04:00
Matthew Flatt
9310b1e14c cs: recognize more Scheme errors
We'll want a better approach eventually.
2018-10-13 13:06:06 -04:00
Matthew Flatt
a7989924fa regexp: don't equate #rx and #px 2018-10-13 13:06:06 -04:00
Matthew Flatt
c43e42c903 cify: fix a GC problem 2018-10-13 13:06:06 -04:00
Robby Findler
b97811d4db improve error checking in the struct form of contract-out
closes #2303
2018-10-12 20:37:39 -04:00
Matthew Flatt
51e08c48f1 thread: repair for killing a thread blocked on itself 2018-10-12 05:56:39 -06:00
Matthew Flatt
e260aef958 cs: fix more printer problems exposed by "print.rktl" tests 2018-10-11 20:32:22 -06:00
Matthew Flatt
dbb74b5814 doc and test updates for a sandbox repair 2018-10-11 16:03:03 -06:00
Paulo Matos
ad7797e2cf Fix memory leak
Free env variable if it was allocated.
2018-10-11 09:34:42 -06:00
Paulo Matos
9020f5aac5 Clarify the use of foff as a base pointer in foreign malloc
Fixes #2285.
2018-10-11 09:34:03 -06:00
Matthew Flatt
b223ce471e docs: describe some limits of place scaling
Closes #2304
2018-10-11 09:32:21 -06:00
Matthew Flatt
959b8778d3 improve docs on version numbers
Closes #2309
2018-10-11 09:17:15 -06:00
Matthew Flatt
9f839c1161 expander: avoid retaining some syntax objects
During the expansion of an internal-definition contexts, don't
retain full forms, and instead keep just enough to perform
syntax tracking, if any.
2018-10-11 06:55:04 -06:00
Matthew Flatt
26f785e64e cs: fix some printer problems exposed by "print.rktl" tests 2018-10-11 06:01:07 -06:00
Matthew Flatt
d25058c94a cs: fix problems exposed by "read.rktl" tests 2018-10-11 06:01:07 -06:00
Matthew Flatt
694fe2e55c docs: correct description of custom-port special results
There no longer seems to be any path that uses the 0-arity option for
a read result from a custom input-port that is a function for a
"special" result. Probably, that path got lost when I added a `source`
optional argument to `read-char-or-special`. If so, that effect of the
change wasn't intentional, but let's just be happy that a
simplification is in place.
2018-10-11 06:01:07 -06:00
Matthew Flatt
16347b434d cs: fix raise-result-arity-error 2018-10-11 06:01:07 -06:00
Matthew Flatt
191d17461f hash-ref: adjust error message for bad failure thunk
Refines 2ef8d60cc6 to avoid characterizing the failure as a `(-> any)`
contract on `hash-ref`, since `hash-ref` doesn't enforce that contract
in general. Go back to an `exn:fail:contract:arity` error, but keep
the specialization of the error message to clarify that it's from
`hash-ref`. Also, bring RacketCS into sync.
2018-10-11 06:01:07 -06:00
Alexis King
15280640d4 Track disappeared define-syntaxes in internal definition contexts 2018-10-10 11:54:44 -05:00
Jordan Johnson
5376a4b409 Clarify match's app pattern behavior (#2306)
If I have understood the behavior of ```app``` correctly, the documentation needs to be clarified. Currently it implies that match expects a single result, and one could reasonably infer that the matcher will require that single result to satisfy all ```_pat```s given. The error message resulting from a reasonable-but-wrong pattern like ```(app string->number (? number?) x)``` is inscrutable, so a doc fix is important here.

I have also added an example that illustrates the use case that led me to submit this PR.
2018-10-10 09:27:21 -04:00
Matthew Flatt
2b9c0c4689 avoid using directory-exists? as part of a contract
Although a `directory-exists?` check is useful for providing better
error messages, it's fundentally a race condition, since an external
process can always remove a directory between the check and a use of
the directory. Because of that limitation of `directory-exists?`, we
normally avoid making it part of a contract. This commit adjust
937aa3cdb1 to follow that convention while preserving the helpful
check and documentation improvements.
2018-10-10 06:26:57 -06:00
Alexander McLin
6c0d193132 Fix references to raco setup and raco make in generate-stripped-directory doc. 2018-10-10 05:51:20 -06:00
Alexander McLin
af9cf01ea3 pkg: add missing option to documentation 2018-10-10 05:51:20 -06:00
Alexander McLin
937aa3cdb1 pkg: fix check-strip-compatible and generate-stripped-directory
Their semantics assume all directory `path-string?` arguments point
to existing directories in the filesystem but they do not actually
check to verify resulting in unhelpful inner exceptions
breaking the functions' semantic abstractions.

Fixed by adding appropriate checks.

Test cases included too.

Documentation updated to reflect the requirement for paths to
refer to existing directories.

Also added note that `generate-stripped-directory` does not
compile or render source files.
2018-10-10 05:51:20 -06:00
Alexander McLin
aecc786b7f pkg: repair file:// URL handling for strip modes
When catalog is specified via file:// URL to a local directory with local
package directories that have been stripped in various modes, `raco pkg install`
will incorrectly error out with an incompatible package content error when
a binary strip mode is selected and a file-system error when source strip
mode is selected.

The cause is due to the file:// URL's resolved file path not being passed
along to the helper functions in the various code paths handling the different
strip modes; instead the full original file:// URL is passed along and is
misinterpreted as an actual filesystem path resulting in the observed failure
modes.

The repair is simple; change the relevant argument so the resolved filesystem path
is used instead of the original file:// URL.

Test cases added to test various combinations of strip modes when using
`raco pkg install` and local catalog directory.
2018-10-10 05:51:20 -06:00