Commit Graph

42800 Commits

Author SHA1 Message Date
Matthew Flatt
441cf9a85c correction to unixstyle-install for libzo mode 2021-02-21 09:41:05 -07:00
Matthew Flatt
4df60bb819 unbreak make install step for non-Unix-style, too 2021-02-21 08:29:33 -07:00
Matthew Flatt
9dbcf179b6 unbreak make install step 2021-02-21 08:16:27 -07:00
Matthew Flatt
51b8606861 unix-style install: ".zo"s in "lib" instead of "share"
For a Unix-style installation, change the default mode to put
"compiled" directories under "lib" instead of "shared", since they're
architecture-specific for Racket CS.

This installation mode relies on the new 'compiled-file-roots config
entry. The installation process updates "config.rktl" so that
`current-compiled-file-roots` is initialized to find ".zo" files under
"lib".

Use `--enable-sharezo` to get the old behavior, either for installing
Racket BC or if you want to ignore "lib"-vs.-"share" guidelines to
simplify the installation.
2021-02-21 07:58:29 -07:00
Matthew Flatt
a110c58e52 add 'compiled-file-roots to "config.rktd" 2021-02-21 07:58:29 -07:00
Matthew Flatt
404c91ed55 fix sorting in "acks.rkt" 2021-02-21 07:58:29 -07:00
Matthew Flatt
95ee83e486 cs: remove reference to racket_exit
Was supposed to be part of 1fd516c502, but was missed because the
change wasn't saved.
2021-02-21 07:58:29 -07:00
Matthew Flatt
2239811eab fix doc typo
Thanks to Mike Sperber for the report.
2021-02-21 07:58:29 -07:00
Robby Findler
3d2eeba6a4 typo 2021-02-20 13:47:27 -06:00
Matthew Flatt
cff766ab84 change Git package references to use default branch
If a Git package source does not include "#" followed by a ref, then
use the branch/commit designated by a server as the default branch or
commit (i.e., the one for the "HEAD" symref), instead of assuming the
branch "master".

This is technically a backward-incompatible change to the
interpretation of Git package sources, but explicit branch
specification continues to work the same. For the forseeable future,
to support recent versions, packages in a branch other than "master"
will still need to be specified using the branch name, such as
including "#main" at the end of the package source. Eventually,
relevant versions of Racket will support the new default.

Relevant to #3672
2021-02-20 07:21:10 -07:00
Matthew Flatt
f0e41cf143 git-checkout: add support for 'head as a ref
Also, change the default ref from "master" to 'head. This is
technically a backward-incompatible change, but so far it seems more
likely to make things work right than to break them.
2021-02-19 16:01:29 -07:00
Matthew Flatt
19c3ee456b configure: fix --collectsdir and --appsdir handling
Thanks to @tgbugs for the report an initial repair.

Closes #3692
2021-02-19 09:26:58 -07:00
Matthew Flatt
eaeb49d0d1 update acks.rkt 2021-02-19 09:26:58 -07:00
David Van Horn
f060ba5cd5 Spelling 2021-02-18 10:46:41 -05:00
Matthew Flatt
89130bd64f unbreak cross build 2021-02-17 11:09:54 -07:00
Matthew Flatt
bf8741e727 add #:callback-exns? to _fun and _cprocedure
In Racket BC, callbacks don't have to be atomic, and it's ok for the
callback to raise an exception (as long as the foreign library is ok
with a longjmp escape). Using `#:callback-exns? #t` on a foreign
callout in both CS and BC allows an atomic callback (invoked during
the foreign call) to raise an exception. Terms and conditions apply.
2021-02-17 08:41:09 -07:00
Matthew Flatt
5ed105ef8a reference: fix docs on get-output-string 2021-02-17 08:41:09 -07:00
David Van Horn
cc5dbaac2c Update pkgs/racket-doc/scribblings/guide/other.scrbl
Co-authored-by: Sam Tobin-Hochstadt <samth@cs.indiana.edu>
2021-02-16 22:19:47 -05:00
David Van Horn
77b487b671 Fix up planet url. 2021-02-16 22:19:47 -05:00
David Van Horn
5743e1a143 Occurrences of http -> https that don't redirect. 2021-02-16 22:19:47 -05:00
David Van Horn
4438dec280 Wayback for old MSDN doc. 2021-02-16 22:19:47 -05:00
David Van Horn
497f35a071 Use https for HtDP links since MIT Press doesn't redirect. 2021-02-16 22:19:47 -05:00
David Van Horn
5170940daf Fix stale MELPA URL. 2021-02-16 22:19:47 -05:00
David Van Horn
297c3b93fb Update CGI RFC reference, fix stale URL. 2021-02-16 22:19:47 -05:00
Matthew Flatt
616daa2239 windows: fix finding self for boot files
Use a wide-character function instead of an ASCII function
to open the executable. Otherwise, Racket breaks when installed
into a non-ASCII path.
2021-02-16 17:24:11 -07:00
Ryan Culpepper
f502cf3b4e db: simplify locking 2021-02-16 12:56:15 +01:00
Ryan Culpepper
f1a5dab4c7 db: update sqlite3 to use ffi-common mixin 2021-02-16 12:56:15 +01:00
Ryan Culpepper
594dfafdf4 db: factor out ffi-common mixin 2021-02-16 12:56:15 +01:00
Matthew Flatt
cf0e45b763 cs: unbreak Windows errno
Restores the repair in 6e58310176, which accomodates certain modes of
compiling the Chez Scheme kernel on Windows.
2021-02-15 17:52:56 -07:00
Matthew Flatt
1fd516c502 cs: fix exit on startup error
Also, simplify errno and exit handling, because Chez Scheme always
provided "(cs)s_errno", and "(cs)c_exit" now does what Racket needs.

Closes #3687
2021-02-15 17:41:25 -07:00
Matthew Flatt
688094e622 Chez Scheme: make default exit handler normal
If a script uses `(exit 1)`, for example, the script should
exit with status 1.
2021-02-15 17:23:55 -07:00
Matthew Flatt
b9ef307b30 cs & regexp: fix regexp-match/end on large strings
When a string is large enough, its conversion to bytes is internally
streamed, and `regexp-match/end` did not get the match-ending bytes
correctly.

Closes #3684
2021-02-14 10:22:03 -07:00
Matthew Flatt
0541fe3b54 disable unreliable test 2021-02-13 09:00:18 -07:00
Matthew Flatt
2dd59a706c bc: unbreak JIT 2021-02-13 08:58:57 -07:00
Matthew Flatt
0523a5311c add structure-type sealing
The predicate for a seald structure type can be faster than a
predicate for a non-sealed structure type, and Chez Scheme takes
advantage of that opportunity.

The BC JIT could be improved to take advanatge of sealed structure
types, but it isn't.

This commit also fixes CS checking of a supertype for certain shapes
of prefab struct-type declarations.
2021-02-13 08:46:31 -07:00
Matthew Flatt
1f68962d67 cs & schemfiy: avoid crash with 1 extra argument to make-struct-type 2021-02-12 19:45:08 -07:00
Matthew Flatt
ae80c890e9 update source READMEs on modifying versions and pb bootfiles 2021-02-12 16:50:32 -07:00
Matthew Flatt
ccad328afd sync pb with signal-registration change 2021-02-12 16:50:32 -07:00
Matthew Flatt
4c836a1dd1 rktio: always set signal mask to empty after fork
Saving and restoring the signal-mask state does not work right, since
rktio itself may block SIGCHLD in some cases, and it doesn't seem
useful/right to preserve the mask after fork.
2021-02-12 16:50:32 -07:00
Jack Firth
6cfc7b880b Clarify the purpose of flat-contract-predicate
The docs currently state that `flat-contract-predicate` is merely a holdover for backwards compatibility, and that flat contracts can be used directly as predicates now. This isn't correct: _some_ flat contracts can be used directly as predicates, but not all. Ordinary racket values that double as contracts such as numbers and symbols can't be used as predicates without using `flat-contract-predicate`. Additionally, this pull request directs users to `coerce-flat-contract` if they're seeking to build contract combinators that explicitly convert ordinary racket values into flat contracts.

Context: racket/scribble#293.
2021-02-12 09:05:23 -06:00
Matthew Flatt
8a914d9338 further repair to unix-signal test 2021-02-11 19:29:56 -07:00
Matthew Flatt
3e2245d40e rktio: unbreak for Windows 2021-02-11 17:39:07 -07:00
Matthew Flatt
5fe6de4ea9 repair to unix-signal test 2021-02-11 17:32:09 -07:00
Matthew Flatt
eba9be1b39 cooperate with nohup
If SIGHUP is initially ignored, don't set a SIGHUP handler.
2021-02-11 15:27:29 -07:00
Matthew Flatt
27c7f45937 guide: fix broken sentence
Closes #3673
2021-02-11 15:27:29 -07:00
Matthew Flatt
350264571d reference: better info on random-number generator state space 2021-02-11 15:27:29 -07:00
Matthew Flatt
2cbaeb7865 Unix: restore all signal handlers after creating a subprocess fork
For each signal handler that is changed, save its state, and restore
the state in a child process after a `fork` and before an `execve`.
Also save and restore the signal mask.

This change requires cooperation from various subsystems, which often
takes the form of a callback registered with the subsystem to be
called before adjusts a signal handler.

Closes #3609
2021-02-11 15:27:29 -07:00
Matthias Felleisen
2ca6f7a5d6 fixes docs, closes #3682 2021-02-11 16:31:48 -05:00
Anish Athalye
c07e9cde09 Improve errors for forbidden ops on weak sets
Forbidden set operations on weak sets produced slightly confusing error
messages:

    > (define s (weak-set))
    > (set-add s 42)
    ; set-add:
    ; expected: (not/c set-mutable?)
    ; given mutable set: (weak-set)
    ; argument position: 1st
    > (set-mutable? s)
    #f

Invoking an operation that required an immutable set gave a message
saying that a `(not/c set-mutable?)` was expected, but a `weak-set` is
not recognized by `set-mutable?`, which only recognizes mutable sets
with strongly-held keys. Changing `set-mutable?` to recognize weak sets
seems undesirable.

This patch changes the error message so that the above example produces
the following error:

    > (define s (weak-set))
    > (set-add s 42)
    ; set-add:
    ; expected: (not/c (or/c set-mutable? set-weak?))
    ; given mutable set: (weak-set)
    ; argument position: 1st
2021-02-11 12:41:46 -05:00
Matthew Flatt
0137c1c545 Chez Scheme: repair expected-error log 2021-02-10 07:55:23 -07:00