Commit Graph

40219 Commits

Author SHA1 Message Date
Matthew Flatt
e8cb4015a7 adjust tests to accomodate no-pthread build modes
The new fifo handling requires pthreads, so skip some tests where
the implementation falls back to a less complete implementation.
2019-08-22 09:08:20 -06:00
Matthew Flatt
2d0f10f473 rktio: better behavior for opening write and of fifo
When opening the write end of a fifo that doesn't have a reader
already, the old implementation could allow writing bytes that are
discarded. This new implementation uses a blocking `open` in a
`pthread`, and that way the write routines know whether the stream is
ready for writing or not.

The difference is visible in the Racket API in a two places:
`subprocess` needs to wait until a fifo writer is connected before
attempting to dup the corresponding file descriotor, and more
generally a use of `unsafe-port->file-descriptor` needs to wait. The
former blocking operation is now build into `subprocess` (and
documented), but the burden is place on callers of
`unsafe-port->file-descriptor` to wait is necessary.

The new `port-waiting-peer?` predicate exposes the waiting state,
while `sync` is sufficient to wait for a peer.

Closes #2784
2019-08-22 05:14:58 -06:00
Matthew Flatt
264ec72790 cache bytes converter used for locale conversions
On platforms other than Windows and MacOS, locale encoding (inclduing
path <-> string conversion) opened a converter for each separate
operation. That can be slow on some OSes, so cache converters used for
locale conversions.

Relevant to #2781
2019-08-16 12:10:28 +02:00
Matthew Flatt
ee9de07744 docs: improve contracts on some syntax-object operations
Use `any/c` instead of `any` for some functions.

Closes #2790
2019-08-16 07:29:50 +02:00
Matthew Flatt
9ba8c7658c move vector-empty? docs to the right section 2019-08-15 13:16:25 +02:00
Matthew Flatt
001abc5b55 ffi/unsafe/alloc: allow #f as an "allocator"
Allowing #f as an allocator avoids problems composing `allocator` with
foreign-function lookup where failure is anticipated and implemented
as #f. For example, `g_settings_new` in the "gui-lib" package's
"mred/private/wx/gtk/gsettings.rkt" can be #f if the libgio libray is
too old, in which case there won't be an attempt to use
`g_settings_new`.
2019-08-15 09:42:10 +02:00
Robby Findler
19fad3f8d9 add missing @racket[] 2019-08-07 08:59:41 -05:00
Paulo Matos
f73f242965
Add history for vector-empty (#2783)
Should have been part of 68621c3ee1
Related to #2695
2019-08-06 22:46:29 +02:00
Robby Findler
652c0d37c5 typo in docs 2019-08-06 13:22:10 -05:00
Paulo Matos
6c17f38f27
Add make rule for gmp_arch_gcc sources to gc2 Makefile.in (#2782)
This avoid a split build (first build cgc and then 3m based on cgc)
failing on arm/alpha.
2019-08-06 18:14:15 +02:00
Gustavo Massaccesi
044c15ec8f more test for print/pretty-print 2019-08-05 13:09:45 -03:00
Gustavo Massaccesi
ecaff3dc96 cs: fix display and print when print-vector-length is enabled
Don't use print-vector-length in `display`.

Use print-vector-length in `print` for fxvectors and flvectors.
2019-08-05 13:09:45 -03:00
Gustavo Massaccesi
63173a32be fix pretty-write when print-vector-length is enabled
Show "#3(struct:b 1)" instead of "#(struct:b 1 1)", so it behaves like `write`.
2019-08-05 13:09:45 -03:00
Gustavo Massaccesi
964e998d70 fix pretty-print when print-vector-length is enabled
In some cases, (vector x 2 3 3 3) was pretty-printed as "(vector x 2 3)" when
print-vector-length was enabled.

Also print "(fxvector)" instead of "(fxvector )".
2019-08-05 13:01:42 -03:00
Matthias Felleisen
89e1ba55a5 fix contract in docs, fixes #2780 2019-08-04 10:36:04 -04:00
Chuan Wei Foo
68621c3ee1 Add vector-empty? (#2695)
* Add vector-empty?

* Add tests for vector-empty?
2019-08-03 15:51:33 +02:00
Paulo Matos
f6b14a7bc1
Add -D to pkg install as an alternative to --no-docs (#2777)
raco setup already provides --no-docs and -D so we should too.
Followup to #2776
2019-08-03 15:49:31 +02:00
Paulo Matos
fc76f59457
Add --no-docs command line to raco pkg install (#2776)
This simply passes the same flag to setup, which already knows how to
run setup without rendering the documentation.
2019-08-01 21:12:10 +02:00
Matthew Flatt
2819d73d7f cs: make collect-garbage always return (void) 2019-08-01 07:26:37 -06:00
Noah W M
e30342236a guide: in example, display all strings in the result channel
There may be still a string in the result-channel, because it is possible that the main thread exits before the result-thread calls `(channel-get result-channel)' and display its result.
2019-08-01 06:40:23 -06:00
Matthew Flatt
a5f70561d2 expander: fix module-path resolution in module->namespace namespace
This repair affects DrRacket and xrepl after `enter` so that a
`require` in the context of a module namespace is resolved relative to
the module's path (as it did in the old expander, before v7.0).

Closes racket/drracket#276
2019-07-31 13:52:17 -06:00
Jon Zeppieri
f797694931 Ensure interned_key is initialized 2019-07-31 10:35:21 -06:00
Paulo Matos
56f4267fa3
Remove native x86_64 test run
We are removing this since we have been doing it all along with a split-job since we exploded CI back in b5b5247279
2019-07-31 14:39:13 +02:00
Robby Findler
6747766c6f added skip-user-doc-check? to materialize-user-docs 2019-07-31 00:30:46 -05:00
Matthew Flatt
754109fa31 JIT: fix useless test for N-ary unsafe-fx+, etc.
Running tests on 32-bit ARM exposed the problem.

Relevant to #2773
2019-07-30 16:04:29 -06:00
Matthew Flatt
50aa964e78 adjust test to avoid excessive memory use
Avoid some tests for a machine that is cleraly too constrained.
Specifically, the check is meant to detect a constrained
Raspberry Pi.
2019-07-30 15:59:10 -06:00
Matthew Flatt
17bc626293 fix bignum quotient on 32-bit ARM
The assembly implementation of `gmpn_invert_limb` is needed to
correctly implement bignum division within the embedded slice of GMP.

Relevant to #2773
2019-07-29 18:39:48 -06:00
AlexKnauth
a1631424bf mark struct-type properties as discouraged in favor of generic interfaces, not deprecated 2019-07-29 16:28:01 -05:00
AlexKnauth
7ea947fc08 remove trailing whitespace 2019-07-29 16:28:01 -05:00
Matthew Flatt
af163a533d integer-bytes->integer: repair for unsigned char
Fix `integer-bytes->integer` for the single-byte case when the C
compiler is configured to treat `char` as an unsigned type.

Relevant to #2773
2019-07-29 13:51:10 -06:00
Paulo Matos
d068f6ae24 Move all emulation jobs to stage6 2019-07-29 14:50:42 +02:00
James Bornholt
93dca626f0 repairs for syntax/template on Racket CS
Fix the default argument in `syntax/template`, where cons-proc-stx should be a
syntax object reflecting a procedure, not a procedure itself.

Fix test case for `syntax/template`, where restore-stx should be a syntax object
reflecting the restore procedure, not the proceure itself.

Closes #2745
2019-07-29 06:16:12 -06:00
Jon Zeppieri
0632ac616e Fixes bug in intmap equality
Collision nodes were previously only testing for the equality
of keys and ignoring values.
2019-07-28 18:38:58 -06:00
Geoffrey Knauth
63104c0dc6 macro in example said let, not let-values 2019-07-28 17:39:58 -06:00
Jon Zeppieri
4ba070766e Replace uses of hashtable-cell with hashtable-ref-cell in rumble
The hash-demo's "mutable destructive for-each" test, which
uses hash-remove! is slightly faster after this change.
2019-07-28 17:36:48 -06:00
Matthew Flatt
cf0717b855 adjust build to update "raco.exe" when needed 2019-07-27 09:54:22 -06:00
Matthew Flatt
7d6e2fc89b cs: fix launcher hack for cross build
Disable optimizations that would avoid inspecting literal string data
that is modified in the run-time executable.
2019-07-27 08:46:41 -06:00
Matthew Flatt
49929ce8d3 cs: fix incremental cross-compile of Chez Scheme 2019-07-27 08:46:41 -06:00
Matthew Flatt
d48b4498cc cs: strip launchers in Windows cross build 2019-07-27 08:46:41 -06:00
Matthew Flatt
01af30a517 cs: repair recompile of Chez Scheme in Windows build 2019-07-26 16:55:14 -06:00
Matthew Flatt
2a1ffbbdf1 bump version to sync with Chez Scheme change 2019-07-26 16:22:37 -06:00
Stephen Chang
e22abfb8a4 reduce code generated by in-X-set sequence constructors 2019-07-26 13:32:04 -04:00
Stephen Chang
69d748a95e fix seg fault when using in-X-set sequence constructor with wrong kind of set; closes #2765 2019-07-26 12:59:20 -04:00
Stephen Chang
0e2d97b1e4 docs: add history note for in-X-set sequence constructors 2019-07-26 12:03:55 -04:00
Matthew Flatt
572b29b874 rktio: fix leak and bad free in subprocess
Closes #2764
2019-07-26 08:37:39 -06:00
Philip McGrath
fce209d9f4 racket/private/serialize: eliminate unnecessary vector->list 2019-07-25 13:27:36 -06:00
Jon Zeppieri
0ebc43ef24 Adds hash-ref-key primitive
For now, the operation is implemented on mutable tables in Chez
using a combination of hashtable-contains? and hashtable-cell.
A more efficient version will require modifying Chez.
2019-07-25 07:43:13 -06:00
Caleb Allen
2e26e99a60 fix dead "Exception system proposal" link
Replaced with web archive of the proposal doc. The original link is giving me a 404
2019-07-24 19:40:44 -06:00
Matthew Flatt
57f64367ed cs: implement make-known-char-range-list
Compute the list (at compile time), instead of using a literal copy of
the output at one point.

Also, adjust the documentation to explain extra guarantees provided by
`make-known-char-range-list`.

Closes #2757
2019-07-24 07:33:28 -06:00
Matthew Flatt
f63ededab8 cs: fix copied environment setup from cross-compilation
The copy of the environment setup for cross-compilation was
out of sync with the main environment configuration.
2019-07-23 19:21:46 -06:00