Commit Graph

42498 Commits

Author SHA1 Message Date
Ryan Culpepper
22a9b0cf35 syntax/parse: fix spurious description for eh-alt-set
closes #2551
2019-03-26 16:58:46 +01:00
Ryan Culpepper
076621558e syntax/parse: document that define-eh-alternative-set does not delimit cuts
closes #2552
2019-03-26 16:44:02 +01:00
Gustavo Massaccesi
49531e95ce fix make-guardian primitive expansion
original commit: 24fb50d6e35d01c685a691868f4518358e923ddb
2019-03-25 23:05:51 -03:00
Alexis King
db3c1d4cb9 units: Avoid use-before-initialization errors in signature contracts
This commit fixes an issue with the fix for contracted bindings in
signatures implemented in commit 5fb75e9f82. While the previous fix
worked in simple cases, it introduced a problem: although signatures
that define contracted bindings were able to refer to other bindings
in the signature in the binding contracts, but anyone doing so was
at the mercy of the exporting unit’s definition order. For example,
given a signature

  (define-signature a^
    [(contracted
      [ctc contract?]
      [val ctc])])

then a unit exporting the signature would cause a
use-before-initialization error if its definition for val appeared above
its definition for ctc.

This limitation did not exist in the units implementation prior to the
introduction of the sets-of-scopes expander in Racket v6.3 (after which
contracted bindings were broken until the aforementioned fix in Racket
v7.2). However, the fact that they worked at all seems semi-accidental:
instead of properly indirecting references to signature bindings within
binding contracts, the contract expressions were simply placed in a
context in which the existing names were bound. However, this meant that
any export that renamed identifiers could cause problems, which the
implementation strategy taken in this commit handles just fine.
2019-03-25 13:58:51 -05:00
Bob Burger
21043fb950 fixed welcome text and copyright year in macOS package
original commit: 30076521c9216a8978f0b3c1369c74d28404418a
2019-03-25 11:54:24 -04:00
Lassi Kortela
1600bc5dc6 file/untar: allow leading as well as trailing blanks (#2553)
Some really old tar files can have both leading and trailing
blanks (nul/space characters) in the same octal number field in the
header.
2019-03-24 18:33:52 -06:00
Robby Findler
683492f6fe allow some redirections in the url that looks for the new version 2019-03-24 19:21:07 -05:00
Matthew Flatt
70e0cac062 compiler/cm: fix ".zo" file locking in -MCR mode 2019-03-23 14:47:36 -06:00
Matthew Flatt
3127b324c4 cs: more attempts to fix Chez Scheme submodule update
When `#:extra-repo-dir` is used in a site configuration, the
extra repos need to have a "master" branch to enable updates.
2019-03-23 10:40:59 -06:00
Matthew Flatt
32330c1327 cs: another fix for Windows build repo update 2019-03-22 20:35:47 -06:00
Matthew Flatt
0736898ccd cs: fix Windows build repo update
repair for 66efceee0e
2019-03-22 17:36:16 -06:00
Matthew Flatt
c6d3a1dd69 make nul act as a stream terminator for LZ4 sequences
original commit: 06f4aab43a35b3a3f956cf510c76c0edb4f1a866
2019-03-22 13:52:53 -06:00
Matthew Flatt
0fc4f69d1e cs: add needed header space for Mac OS executables 2019-03-22 11:55:24 -06:00
Matthew Flatt
605f8f5033 rename "compress.[ch]" to avoid a conflict
original commit: a4c635ae3da7853bbd2f63ffb25c3f16af33898b
2019-03-22 09:38:37 -06:00
Matthew Flatt
27536edb07 fix Windows library link
original commit: dc42cd93b5af29673f3357583dc81f9b104e7cb4
2019-03-22 09:11:01 -06:00
Matthew Flatt
66efceee0e cs: fix Windows script for updating Chez Scheme checkout 2019-03-22 08:41:08 -06:00
Matthew Flatt
e34dbdc4f4 defend against bad hash type in bytecode
The change to make `#hash()`, etc., unique made it easy for the fuzz
tester to crash the bytecode reader.
2019-03-22 07:34:36 -06:00
Matthew Flatt
3501fce192 expander: syntax-make-delta-introducer and mpi shifts
When the result of `syntax-make-delta-introducer` adds scopes,
it needs to carry along any shifts that might be relevant.

The new implementation risks adding lots of redundant shifts. In this
case, it might be worth spending extra effort at shift-transfer time
to check whether the shift is redundant.

Closes #2542
2019-03-22 07:18:06 -06:00
Matthew Flatt
7332060b69 raco make: fix parallel-build prefetch for relative submodule paths
Closes #2543
2019-03-21 18:58:20 -06:00
Matthew Flatt
0020332810 raco demod: discard unusable macro implementations
Prune away "phase -1" macro registrations, because they're useless,
and because the expander's evaluation of linklets now actively rejects
them.
2019-03-21 18:12:49 -06:00
dyb
3761d229a1 updated month
original commit: 87f59b35b61441a29a67dc8eb83cdd6fc5aa421e
2019-03-21 15:54:12 -07:00
dyb
46608ff1f1 Now opening 9.5.3 release. Intent is to formally release 9.5.2
(and possibly all and only even-numbered releases going forward)
and use 9.5.3 (and possibly all and only odd-numbered releases going
forward) for development.

original commit: 47110f36cea47a44078b3144c82d212de79774ce
2019-03-21 15:07:39 -07:00
dyb
04e299d33f missed one change in bintar/Makefile
newrelease
  bintar/Makefile

original commit: c9037e5f79545b7530fd8d21db9c8148e809e7b7
2019-03-21 15:05:24 -07:00
dyb
b2cecd2c0f 9.5.2 changes:
- updated version to 9.5.2
    bintar/Makefile rpm/Makefile pkg/Makefile BUILDING NOTICE
    makefiles/Mf-install.in makefiles/Makefile-csug.in scheme.1.in
    c/Makefile.a6nt c/Makefile.i3nt c/Makefile.ta6nt c/Makefile.ti3nt
    mats/Mf-a6nt mats/Mf-i3nt mats/Mf-ta6nt mats/Mf-ti3nt workarea
    c/scheme.rc s/7.ss s/cmacros.ss release_notes/release_notes.stex
    csug/copyright.stex csug/csug.stex rpm/Makefile pkg/Makefile
    wininstall/Makefile wininstall/a6nt.wxs wininstall/i3nt.wxs
    wininstall/ta6nt.wxs wininstall/ti3nt.wxs
- fixed handling of bintar, rpm, pkg make files
    newrelease
- fixed a bug in the fasl representation and reading of mutually
  recursive ftypes where one of the members of the cycle is the
  parent of another, which manifested in the fasl reader raising
  bogus "incompatible record type" exceptions.  (The bug could also
  affect other record-type descriptors with cycles involving parent
  rtds and "extra" fields.)  object files created before this fix
  are incompatible with builds with this fix, and objects files
  created after this fix are incompatible builds without this fix.
    fasl.ss, strip.ss,
    fasl.c,
    ftype.ms,
    release_notes.stex

original commit: 766d591c18c2779866d1a059700e6ff1c02cb3c5
2019-03-21 14:30:49 -07:00
Matthew Flatt
79a83b21a1 sync equates and bootfiles (threaded only)
original commit: 9658eb61519dfccf9729fe1ceb8daa7687a643e5
2019-03-21 12:08:45 -06:00
Matthew Flatt
c13b9307f0 fixup for MinGW build
original commit: c9a2530d778f5a798df613d8aafc295a046fd7a1
2019-03-21 12:08:02 -06:00
Matthew Flatt
4a26420b14 update "INSTALL.txt" to explain the describe-clients target 2019-03-21 10:40:31 -06:00
Matthew Flatt
ccf8c525fa makefile: add describe-clients target
The `describe-clients` target is a debugging aid for viewing
distro-build site configurations.
2019-03-21 10:12:24 -06:00
Matthew Flatt
1fb8e744dd makefile: build distro packages as machine-independent by default 2019-03-21 07:52:48 -06:00
Matthew Flatt
0be2178f0e cs: fix build of cross-compile racket 2019-03-21 07:52:48 -06:00
Matthew Flatt
d0a98cb42a cs: update for LZ4 compression 2019-03-21 07:52:48 -06:00
Matthew Flatt
c4c70e8533 adapt MinGW cross-build suport for LZ4
original commit: 959d2b03cf8a6261583d060cf1d37fbf3e233f82
2019-03-21 06:22:59 -06:00
Andy Keep
bae0681d2b Start on release notes.
- added library-search-handler, compile-whole-library, and improved
  packaging to the release notes.
    release_notes/release_notes.stex

original commit: 4740211242cf7f010fd66a7c15cf71aea098956c
2019-03-20 22:26:29 -04:00
Matthew Flatt
8b68320dcb Merge branch 'lz4' of https://github.com/mflatt/ChezScheme
original commit: f74329a3254dbdfda1c4f86585a2d5028bbe03a3
2019-03-20 15:49:49 -06:00
Matthew Flatt
7264663e3c Merge https://github.com/cisco/ChezScheme
original commit: c2621183748c7f90d1cbf2d482f0bdb9ecda12e4
2019-03-20 15:45:15 -06:00
Matthew Flatt
194d1e71c1 partially sync with current Chez Scheme
original commit: ff0c8d157a551f9a9c16606ac2e052373c1ce4f9
2019-03-20 15:43:33 -06:00
Matthew Flatt
8ab973300d Add LZ4 support and use it by default for compressing files
original commit: bbcd7fc2188e798ce53b765db0808e9ea6510350
2019-03-20 13:35:04 -06:00
dyb
84ec3f8704 minor build and new-release updates
checkin, newrelease, Makefile.in, Makefile-workarea.in

original commit: 4a4e1c40b611e56260c4751f1e16d0f9d78d2a35
2019-03-19 23:23:10 -07:00
Andy Keep
e3d64728e9 Small fix to wpo error message.
improved error message for compile-whole-program and
compile-whole-library when a top-level expression is discovered while
processing a wpo file.
  compile.ss

original commit: 11cee34502470d720d611ffd0799353e8663a7f1
2019-03-19 22:21:27 -04:00
Matthew Flatt
2f65d585b2 adjust Windows cross-compile to use zlib/win32/Makefile.gcc
original commit: b4c583ad7259eabad7344d5dedc297c8414140a4
2019-03-19 15:29:20 -06:00
Alexis King
8910ff0a39 units: Fix mistake in 86bb85931d that could cause compile-time failures
Specifically, if a contracted binding was applied as a function inside
another contract, it would lead to a syntax error.
2019-03-19 14:24:41 -05:00
AlexKnauth
b471b18876 document procedure behavior of make-variable-like-transformer 2019-03-19 15:43:04 +01:00
AlexKnauth
780647f0eb return a procedure from make-variable-like-transformer
So that make-variable-like-transformer produces a value that passes both procedure? and set!-transformer?
2019-03-19 15:43:04 +01:00
Paulo Matos
1efe1ebbf1 Revert "Fix typo"
This reverts commit 9a731f45f9.

Not a typo as pointed out in 9a731f45f9 (commitcomment-32813840)
2019-03-19 08:38:33 +01:00
dyb
0b89f4fe82 better packaging support
- fixed failure to install examples for tarball installs
    Mf-install.in
- improved packaging support:
  replaced bintar script with bintar directory and make file;
  tarballs are created via "make create-tarball" and are placed in
  the workarea's bintar directory.  added rpm directory and make
  file for creating RPMs via "make create-rpm".  added pkg directory
  and make file for creating OSX packages via "make create-pkg".
    bintar (removed), bintar/Makefile (new), rpm/Makefile (new),
    pkg/Makefile (new), pkg/rmpkg (new), workarea, checkin, newrelease,
    Makefile.in, Makefile-workarea.in.

original commit: fdff97d15cd827eb8fbef200c0f495a4bfaefff3
2019-03-18 22:51:26 -07:00
Paulo Matos
9a731f45f9
Fix typo
s/intensionally/intentionally
2019-03-18 23:52:32 +01:00
Matthew Flatt
201015a4b6 cs: avoid uppercase in Windows header and library references 2019-03-18 13:10:43 -06:00
Matthew Flatt
4d0090bf7b avoid case in MinGW library name
original commit: 3ce4efbf98e6960871f2477a8cc89e2020adb95b
2019-03-18 12:48:46 -06:00
Andy Keep
38d1000f70 Added fix for wpo bug from issue 386.
added fix for whole program/library compilation bug with help from
@owaddell who originally reported the problem in issue 386.  this bug
arises from the way the parts of the combined library, and their
binary dependencies, are invoked when one of the constituent libraries
is invoked.  consider, for example, a combined library that contains
(A) and (B), where (B) depends on a binary library (C).  depending on
the sort order of (A) and (B), which may be unconstrained in the
partial ordering established by library dependencies, invoking (A) may
result in the invoke code for (B) being run first, without (B) ever
being explicitly invoked.  this can result in bindings required from
(C) by the invoke code in (B) to be unbound.  even in the case where
(A) comes before (B) in the topological sort, if they are combined
into the same cluster, (B)'s invoke code will be run as part of
invoking (A).  the solution is two part: first we extend the invoke
requirements of the first library in the cluster to include the binary
libraries that precede it in the topological sort and add a dependency
on the first library in the cluster to all of the other libraries in
the cluster.  this means no matter which library in the cluster is
invoked first, it will cause the first library to be invoked, in turn
ensuring the binary libraries that precede it are invoked.  when there
are multiple clusters, a dependency is added from each cluster to the
first library in the cluster that precedes it.  this ensures that
invoking a library in a later cluster first, will still cause all of
the dependencies of the previous clusters to be invoked.  ultimately,
these extra dependencies enforce an ordering on the invocation of the
source and binary libraries that matches the topological sort, even if
the topological sort was under constrained.  to maintain the property
that import requirements are a superset of the invoke and visit
requirements, we also extend the import requirements to include the
extended invoke requirements.  the import requirements are also added
to the dependency graph to further constrain the topological sort and
ensure that we do not introduce artificial cycles in the import graph.
  compile.ss,
  7.ms,
  root-experr*, patch*

original commit: 09bba001a33a5ee9268f1e5cf0cc118e8a2eec7f
2019-03-17 14:18:42 -04:00
Matthew Flatt
f94fba12da struct: disallow #:extra-name with #:omit-define-syntaxes 2019-03-17 06:54:55 -06:00