Commit Graph

39456 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
7017781681 Make these tests easier to distinguish. 2018-11-21 12:39:55 -05:00
Matthew Flatt
744d440ab9 schemify: ensure that deserialized constants are immutable
Closes #2394
2018-11-21 10:16:19 -07:00
Matthew Flatt
669e51768d io: normalize path to current-directory[-for-user]
Closes #2393
2018-11-21 09:58:16 -07:00
Matthew Flatt
299692a38a io: fix initial print-as-expression value
Closes #2391
2018-11-21 09:48:14 -07:00
Matthew Flatt
e5bfba5f3c cs: repairs for byte-string comparison operators 2018-11-21 09:38:32 -07:00
Matthew Flatt
7231f11b60 cs: don't treat crashes as constract errors
Converting "invalid memory reference" to an `exn:fail:contract` (which
is the default conversion) hides crashes as success when a test
expects an error.

Also, fix a bug that was hiding as an expected excdeption.
2018-11-21 09:28:28 -07:00
Matthew Flatt
701854a404 expander: remove unused require of racket/fasl 2018-11-21 09:08:48 -07:00
Matthew Flatt
13fa23e79a unbreak cify build 2018-11-21 08:37:48 -07:00
Matthew Flatt
6f6d121611 move linklet bundle and directory to expander layer
The Racket and RacketCS implementations had separate copies of
linklet-directory and linklet-bundle reading and writing. Move the
implementation into the expander layer.

The primitive '#%linklet instance now omits directory and bundle
operations and `read-compiled-linklet`. It intead must provide
`write-linklet-bundle-hash`, `read-linklet-bundle-hash`, and
`linklet-virtual-machine-bytes`.
2018-11-21 07:23:50 -07:00
Robby Findler
8cee5a09da improve the redundancy checking for class contracts
In particular, when there isn't any redundancy detected, then
just make a single call into the projection and create just a single
class.

This seems to help on at least one of the configurations of
dungeon, which completes in about 6 minutes with this commit
and I gave up waiting after 15 minutes for the version of
racket that didn't have it
2018-11-20 21:30:39 -06:00
Gustavo Massaccesi
b4e3030a0d rumble: fix some type checks in bytes.ss 2018-11-20 16:50:50 -03:00
Sam Tobin-Hochstadt
940e46df6c Rebuild expander.
Should have been included in 1258d9d28.
2018-11-20 11:56:28 -05:00
Sam Tobin-Hochstadt
1258d9d28a
Point to body forms in missing-expression error. (#2356)
Improves the error message for:

```
(define-syntax (like-lambda stx)
  (syntax-case stx  ()
    [(_ e) #'(lambda () e)]))

(like-lambda (define x 1))
```

Based on a report from @pkoronkevich.
2018-11-20 11:43:28 -05:00
Sam Tobin-Hochstadt
1ea9ec399f Fix tests that depend on the current exception handler. 2018-11-20 11:42:53 -05:00
Sam Tobin-Hochstadt
b1712b76d1 Handle errors during tests. 2018-11-20 11:42:53 -05:00
Sam Tobin-Hochstadt
6bf0225fba Make testing work with just racket/base loaded. 2018-11-20 11:42:53 -05:00
Matthew Flatt
42bde1c9cf add a constructor arity test
Closes #2390
2018-11-19 20:06:50 -07:00
Matthew Flatt
daed85e1dc setup/dirs: fix cases where paths are unavailable
When an executable distibution is created, some path become
unavailable at run time, such as the result of `find-links-file`.

Change the contract on those functions and adjust the implementation
to return `#f` in those cases. This is a backward-compatible change in
the sense that uses that now return `#f` would have crashed before
(although it does shift the blame in that case).

Based on an initial patch by Shu-Hung.

Closes #2352
2018-11-19 19:15:49 -07:00
Gustavo Massaccesi
cc14310cdb clarify examples in docs of take and drop 2018-11-18 13:26:04 -03:00
Sam Tobin-Hochstadt
c1d2e4031e
Guard free-identifier=? comparisons in shared. (#2382)
Fixes #2381.
2018-11-17 22:26:11 -05:00
Alex Feldman-Crough
c4189ff934 untar: treat the tag #\nul as a synonym for #\0
The GNU Tar manual (at
https://www.gnu.org/software/tar/manual/html_node/Standard.html) says
that older archives may have the typetag AREGTYPE (\0) instead of
REGTYPE ('0'), and that AREGTYPE should silently be treated as
REGTYPE.
2018-11-17 18:00:15 -07:00
Matthew Flatt
ef9e9e3f7e cs: check initialization of variables on instance linking 2018-11-17 16:44:08 -07:00
Matthew Flatt
a255def019 cs: fix state of module instance interrupted by error
Closes #2380
2018-11-17 16:30:56 -07:00
Matthew Flatt
d47d036239 cs: fix dynamic-wind on chaperoned procedure 2018-11-17 15:58:46 -07:00
Matthew Flatt
64069a5792 cs: initialize error-value->string-handler per place
Closes #2377
2018-11-17 15:15:23 -07:00
Matthew Flatt
f6eb956199 cs: fix error with a single symbol argument
Closes #2379
2018-11-17 15:06:55 -07:00
Matthew Flatt
c1c110f662 makefile: accomodate current Mingw-64
As of version 5.0.5, Mingw-64 adds an ".exe" extension even if it's
not in the `-o` argument. Adjust the makefiles to consistently use
".exe".
2018-11-17 15:03:15 -07:00
Matthew Flatt
cb9289bd0b makefile: change the executable used for the distro pkg step
The distro-build process creates an executable in a build area, then
uses it to set up a distribution in a "bundle" directory. That way,
any package-supplied native libraries will be found in the process of
installaning a package, in case installation needs native libraries.

Don't switch in the case of cross-compiling, though. For
cross-compilation, `PLAIN_RACKET` still has to be used, since it is
set up to be one that runs on the build platform, and the
`PLAIN_RACKET` installation simply has to have any needed native
libraries installed. That's why the makefile wasn't using the
exectuable in "bundle" before for package installation (but it can
create trouble for non-cross builds, especially on Windows).
2018-11-17 14:15:05 -07:00
Matthew Flatt
c44c8b9cc0 cs: implement best-effort-ordered hash table traversal 2018-11-16 16:53:54 -07:00
Matthew Flatt
a6e37fc947 racket/fasl: improve determinism of output
When traversing hash tables, try to sort the keys.
2018-11-16 16:36:56 -07:00
Matthew Flatt
624918d399 expander: remove obsolete and broken to-source? compile mode
Source mode was a leftover from early iterations of the expander. A
bootstrapping mode that uses replacement `compile-linklet`, etc.,
turned out better.
2018-11-16 16:21:28 -07:00
Matthew Flatt
709258d88c reorganize and update "README.txt"s about sources and builds
Integrate Racket-on-Chez information better and reorganize information
to reflect the way that the makefiles and build scripts have evolved.
2018-11-16 07:49:53 -07:00
Matthew Flatt
337aec3436 cs: fix -C flag to set (system-type 'cross) 2018-11-15 18:17:05 -07:00
Matthew Flatt
7c1326a120 io: fix subprocess waiting for Windows 2018-11-15 14:57:09 -07:00
Spencer Florence
2f74b6087d explicate docs for make-rectangular and make-polar 2018-11-15 15:54:36 -06:00
Caner Derici
331b383103 fasl: make sure every write-bytes know where to write (#2373)
adding tests that fail without this fix
2018-11-15 16:53:53 -05:00
Matthew Flatt
06101ffb89 cs & io: fix current-directory initialization 2018-11-15 10:02:57 -07:00
Matthew Flatt
6d1b287467 io: fix (find-system-path 'orig-dir) 2018-11-15 09:37:28 -07:00
Matthew Flatt
a6cc19648f cs: allow Racket framework to find itself not in "CS"
The installer-signing process can copy the framework to an application
directory that does not have "CS" in its name.
2018-11-15 06:35:03 -07:00
Matthew Flatt
a9b02d5956 schemify: fix some function names when saving "bytecode" 2018-11-15 05:29:36 -07:00
Matthew Flatt
3e480f1c93 io: fix current-directory and related parameters
For consistency with traditional Racket, the guards need to be
implemented through derived parameters instead of chaperones.
2018-11-15 05:29:36 -07:00
Matthew Flatt
caf28648e3 cs: fix schemify of non-rator call-with-values 2018-11-15 05:29:36 -07:00
Matthew Flatt
4068b9097d io: fix some test failures 2018-11-15 05:29:36 -07:00
Matthew Flatt
1e726581ef io: TCP port does not count as a file-stream port 2018-11-15 05:29:36 -07:00
Ben Greenman
6abadc472e doc: new examples for parametric->/c 2018-11-14 23:32:56 -05:00
Matthew Flatt
bf7eee0f65 thread: fix atomic-timeout-callback implementation
Closes racket/drracket#238
2018-11-14 16:59:16 -07:00
Sam Tobin-Hochstadt
cf34c22380
fasl: find shared values in hash tables. (#2371)
Also, add test to check sharing of uninterned symbols.
2018-11-14 18:45:54 -05:00
Matthew Flatt
c51616ecfd cs: fix typo in Windows build script 2018-11-14 15:47:57 -07:00
Matthew Flatt
e745c047b0 doc: small adjustments to "eval-model.scrbl" 2018-11-14 12:38:14 -07:00
Paul C. Anagnostopoulos
19d096dde7 doc: improvements to "eval-model.scrbl"
Closes #2350
2018-11-14 10:45:49 -07:00