Commit Graph

41100 Commits

Author SHA1 Message Date
Matthew Turland
3934dfd760 Fix typo in quote example from section 2.4.1 2020-05-05 07:42:13 -04:00
Paulo Matos
65a1aa9cb3
Only create snapshots when action is ran from main repo (#3152) 2020-05-05 11:14:04 +02:00
Matthew Flatt
f57aa0b90f improve docs and raco distribute about stand-alone executables
The `--orig-exe` flag is more useful than the documentation suggested,
and `raco distribute` now treats those executables better.
2020-05-04 15:10:15 -06:00
Sam Tobin-Hochstadt
850aefe8fe Add more packages to testing Docker image. 2020-05-04 16:43:38 -04:00
Matthew Flatt
126e8dacb5 add regression test for futures
Tries to provoke the crash fixed by c59f72f101.

Related to #3145
2020-05-04 08:22:39 -06:00
Matthew Flatt
cf4691ee87 cs: fix allocation mode for _string/utf-16
Closes #3153
2020-05-04 07:18:05 -06:00
Matthew Flatt
6feb9c1095 makefile: add SERVER_URL_SCHEME to support https 2020-05-03 16:09:55 -06:00
Matthew Flatt
cdc32cdfeb cs: repair build via source distribution 2020-05-03 13:41:04 -06:00
Matthew Flatt
17a5711dbb makefile: fix addition of --disable-lib
When potentially adding the `--disable-lib` flag, don't drop existing
extra configure flags. Specifically, the `--enable-crossany` flag
from distro-build could get lost, which breaks a soutrce distribution
with built packages.
2020-05-03 09:40:36 -06:00
Sorawee Porncharoenwase
9465cbd7e6 Update documentation contribution guide 2020-05-03 07:57:22 -06:00
Matthew Flatt
c59f72f101 bc: reserve GC parking spaces for place-main thread
Don't try to park values when allocating a weak box or pair in a
future thread, since that creates a race on the parking spaces. A
future thread can't run a GC, so it's doesn't need to park.

Touching a future in a future allocates a weak box, so this bug could
have been responsible for many crahses.

Related to #3145
2020-05-02 08:45:14 -06:00
Sam Tobin-Hochstadt
303b410bc7 Recent GMP is under LGPL v3.
Update GMP license statment following 392dc33ceb which comes from
a recent GMP version.

This does not affect the overall license situation of Racket BC,
which includes other LGPL v3 code, or of Racket CS, which does not
use GMP.
2020-05-01 22:26:25 -04:00
Matthew Flatt
61cefe693a cs: support raco exe --embed-dlls on Windows
Uses a MemoryModule PR by @DaLynX to fix a setjmp/longjmp
interaction with embedded DLLs.
2020-05-01 20:07:24 -06:00
Matthew Flatt
fffdeeddd2 move known-done subprocess from custodian
The `call-with-deep-time-limit` function in `racket/sandbox` expects a
subprocess to be removed from its custodian when the subprocess is
done. CS wasn't doing that at all, leaving custodian removal to a
finalizer. BC was doing delaying a remove until `subprocess-status` is
used (which happened to work for existing uses of
`call-with-deep-time-limit`, apparently.)

Relevant to #3140
2020-05-01 11:17:49 -06:00
Sam Tobin-Hochstadt
ea43027252 actions/checkout v2 avoids the detached head problem 2020-04-30 10:18:15 -04:00
Sam Tobin-Hochstadt
49153de07d Update .github/workflows/ci-snapshot.yml 2020-04-30 10:10:05 -04:00
Paulo Matos
8c8c41e379 Move snapshot generation to different workflow
Only run snapshot generation on push events to master.
2020-04-30 10:10:05 -04:00
Paulo Matos
c724cd130e
Remove pull_request from on tag for ci-push
For debug reasons I added pull_request to the on tag in #3119 but forgot to remove it and it went in cd096e0e6b
2020-04-30 14:43:03 +02:00
Paulo Matos
0eb9a2a1c4
Rename installer creation job
Now it is also generating CS snapshots
2020-04-30 14:39:33 +02:00
Sam Tobin-Hochstadt
eea9a851e3 Remove trailing whitespace. 2020-04-29 17:31:40 -04:00
Sam Tobin-Hochstadt
3ebcf80026 Improve CI snapshot creation, and build packages and Racket CS. 2020-04-29 17:31:27 -04:00
Matthew Flatt
d358a4135b cs: prinitng for unsafe-undefined
Although `unsafe-undefined` should never arrive at a printing
function, handle it a little better if it smoehow does.
2020-04-29 09:34:25 -06:00
Matthew Flatt
1646d294fd schemify: fix potential "optimization" of too-early use
The part of schemify that checks for simple bindings was not keeping
track of when it should be checking for only simple procedure forms.
2020-04-29 08:55:17 -06:00
Matthew Flatt
58371b95d4 ffi/unsafe: add malloc-mode option to _list and _vector 2020-04-28 16:19:33 -06:00
Matthew Flatt
d7f0809490 cs: react to (collection-garbage 'incremental)
When incremental mode is enabled, adjust garbage collection to avoid
promoting objects from the next-to-oldest generation into the oldest
generation. This change produces a good approximation to incremental
collection for game-like programs (although probably not server-like
programs with large, temporary jobs).
2020-04-28 13:25:54 -06:00
Georges Dupéron
ee73a550aa Changed "Report a Bug" url in the documentation 2020-04-28 12:31:39 -04:00
Matthew Flatt
a4b5fe5b78 cs & regexp: fix incorrect request for extra bytes
When trying to match "\r\n" on an input port, for example, don't
insist on peeking a second byte if the first one already isn't "\r".

Closes #3132
2020-04-27 15:00:14 -06:00
Sam Tobin-Hochstadt
4662141ffc Built Racket BC installer in CI, upload to S3. 2020-04-27 13:02:59 -04:00
Matthew Flatt
8eab18465c update "racket/HISTORY.txt" for v7.7 2020-04-26 08:47:05 -06:00
Matthew Flatt
1d41f0c5b8 cs: implement list? with list-assuming-immutable?
Use new support from Chez Scheme for constant-time `list?`.
2020-04-25 15:54:30 -06:00
Sorawee Porncharoenwase
ed617d76aa Fixes #1649: correct the docs for conjoin and disjoin 2020-04-24 21:24:58 -04:00
Matthew Flatt
aeb1786476 cs: fix interaction of error-print-with and prop:custom-write
Closes #3108
2020-04-24 17:26:24 -06:00
Matthew Flatt
05dfd85853 cs: repair position-based struct accessor/mutator
Fix error checking and reporting for position-based struct accessors
and mutators. Also, fix mutability recording for prefab structure
types that have auto fields.

Related to racket/typed-racket#902
2020-04-24 11:30:14 -06:00
Matthew Flatt
40045ce1a6 expander: add missing available-module trigger
Repairs `(dynamic-require module-path (void))`.

Related to #3128
2020-04-24 09:24:19 -06:00
Paulo Matos
cd096e0e6b
Fix RacketCGC file location for scanbuild jobs (#3119)
Re-enable scanbuild for 3m and CS, previously disabled in 9d89bbe909

There is a GitHub Actions but where inside a container variables `$HOME`, `$GITHUB_WORKSPACE`, `{{ runner.temp }}` are not properly set. 

This commit contains some workaround that can be removed once a fix has been pushed from the GitHub side.
2020-04-24 15:42:02 +02:00
Matthew Flatt
db1d1916b5 cs: fix a semi-leak for places
The most recently created place's data could be retained
after the place terminated.
2020-04-23 15:27:21 -06:00
Matthew Flatt
f5a4180803 cs: fix a leak in plumbers
Who plumbs the plumbers?
2020-04-23 15:27:21 -06:00
Sorawee Porncharoenwase
7e7cac5ffa Minor typo, use #t for consistency 2020-04-23 10:45:03 -04:00
Matthew Flatt
43dd872689 fix "build.md" typo
Reported by @khardy.
2020-04-23 07:35:22 -06:00
Matthew Flatt
2d14996156 unbreak no-places, no-futures build
Also, update GC logging for CGC to be consistent with other variants.
2020-04-23 07:21:41 -06:00
Paulo Matos
9d89bbe909
Remove scanbuild jobs for 3m and cs (#3124)
This is temporary until I can fix them. Unfortunately, I have no idea
what's going on on the Actions side. In the meantime I would like to
see green ticks for master commits.

Working on a fix under #3119
2020-04-23 14:53:03 +02:00
Paulo Matos
362edb00de
Check that file specified by --enable-racket exists (#3118) 2020-04-22 23:22:19 +02:00
Matthew Flatt
b320cfb103 fix test of dump-memory-stats
The `dump-memory-stats` function writes to stderr (although that's a
questionable choice).
2020-04-22 14:47:09 -06:00
Matthew Flatt
9358ebc97d cs: fix peak-memory logging
That number shouldn't be negative, but print it right in case it is.
2020-04-22 14:39:08 -06:00
Matthew Flatt
7c7d514f73 cs: fix glib logging callback
Commit 16ad9ed522 removed a `lock-object`, but that's only ok as long
as the callable is retained (which is better than using
`lock-object`).
2020-04-22 14:39:08 -06:00
Sam Tobin-Hochstadt
e95c3e337d
Update FUNDING.yml 2020-04-22 15:43:36 -04:00
Paulo Matos
0bc9007365
Fix CI yml syntax (#3117)
Do not use working directory on uses.
Also - update actions download/upload artifact to use v1 instead of master.
2020-04-22 21:34:28 +02:00
Paulo Matos
7a57072af3
Put all Racket installations in runner temp (#3116)
* Put all Racket installations in runner temp

Avoid relative paths (see #3112).

Fixes #3112.

* Replace missed .. in artifact download
2020-04-22 20:15:39 +02:00
Georges Dupéron
d09ce588bf Allow dotted list syntax for match expanders, e.g. (match v [(some-match-expander a b c . d) (displayln (list a b c d))])
Closes #1438.
2020-04-22 14:10:59 -04:00
Matthew Flatt
16ad9ed522 cs: use new immobile-object support
Implement 'atomic-interior allocation and immobile cells using
`make-immobile-bytevector` and `make-immobile-vector`, which avoids
having to unlock through a finalizer.

Also, the Chez Scheme GC can now mostly mark a major generation,
instead of copying it, which can significantly reduce memory
use during a GC for an old, large heap (such as DrRacket's).
2020-04-22 07:19:38 -06:00