Commit Graph

35878 Commits

Author SHA1 Message Date
Matthew Flatt
5401c5d179 racket/sandbox docs: clarify that collection modules are accessible 2015-09-12 13:21:04 -06:00
Gustavo Massaccesi
58895067c8 Remove nested begin0's added by sfs pass 2015-09-11 22:38:05 -03:00
Konrad Hinsen
a47800686c Fix match with (list-no-order p ..k) patterns
p ..k matches exactly k repetitions of p, but its documented
behavior is to match "k or more" repetitions. This fix implements
the documented behavior.

Fixes bug number 15122.
2015-09-11 21:34:02 -04:00
Juan Francisco Cantero Hurtado
4f5d8da278 Fix "require" in racket-benchmarks/places/symbols.rkt 2015-09-11 21:31:58 -04:00
Anthony Carrico
390e69fac5 Test format string and arguments mismatch error. 2015-09-11 20:42:39 -04:00
Anthony Carrico
181edfeec6 Format string and arguments match. 2015-09-11 20:42:39 -04:00
Sam Tobin-Hochstadt
78fc476e61 Reject relative paths in MANIFEST files when installing. 2015-09-11 20:30:14 -04:00
Sam Tobin-Hochstadt
17d69338a9 Remove obselete time config defines.
Removes `USE_FTIME`, `USE_PALMTIME`, `USE_MACTIME`, `TIME_SYNTAX`.
2015-09-11 20:30:14 -04:00
Matthew Flatt
0d3b5b61f0 untar, untgz, and unzip: add #:permissive?
Also, strengthen the checking that `#:permissive?` (off by default)
performs for `untar` and `untgz` to disallow a link whose target is an
absolute path or has an up-directory element.
2015-09-11 16:53:31 -06:00
Matthew Flatt
c7fac6e98e raco pkg catalog-archive: add a --pkg-fail option
Relevant to #1032
2015-09-11 16:53:31 -06:00
Matthew Flatt
c15d2f71d4 file/untar: fix handling of a broken tar file
Closes #1049
2015-09-11 16:53:31 -06:00
Matthew Flatt
696c9d972f prohibit directory indicators in "git:....?path=" as a package source
Closes #1027
2015-09-11 16:53:30 -06:00
Matthew Flatt
dcfb9cb972 raco pkg: make network-retries configurable 2015-09-11 16:53:30 -06:00
Matthew Flatt
29223aaed7 raco pkg: wrap network access with retries
Retry communication up to five times when `exn:fail:network`
is raised.

Not all `exn:fail:network` exceptions are transient. For example,
attempting to connect to a bad server name will produce an error more
slowly than before, since the bad connection will be tried five times.
Still, retrying on `exn:fail:network` seems like a good heuristic.
2015-09-11 16:53:30 -06:00
Alex Knauth
2923a3adcf syntax/parse: fix disappeared-use property in attribute macro
This fixes the DrRacket check syntax arrows in uses of `attribute` like this:
```racket
#lang racket/base
(require syntax/parse)
(syntax-parse #'a
  [a
   (attribute a)])
```
2015-09-11 17:35:25 -04:00
Ryan Culpepper
4f5c54db54 syntax/parse: fix use of evaluators in docs 2015-09-11 17:35:24 -04:00
Ryan Culpepper
808a6ca266 syntax/parse: remove ref to raise-syntax-error*
Copy and specialize raise-syntax-error*.
Also, taint the stxs in the exn raised.
2015-09-11 17:35:24 -04:00
Asumu Takikawa
52aa11c407 Propagate object inspectors in class/c wrappers
This makes reflection work on an instance of a contracted
class in the same way that it does on the original class.
2015-09-11 15:11:18 -04:00
Matthew Flatt
81ee1b39c7 change the (relatively new) argument to collect-garbage
Make the argument a symbol, 'major or 'minor, instead
of a boolean, because that allows further extension.
2015-09-11 12:07:35 -06:00
Matthew Flatt
c416db91c1 Fix shared-space marked-page chaining
Fixes a problem with a4910716e4, and adjusts place-specific
major GCs to use the already constructed chain instead
of reconstructing it.
2015-09-11 12:07:35 -06:00
Matthew Flatt
50df879e79 GC: adjust cleanup phase to not touch irrelevant page records
Fixes the last place where a minor collection touched a record
per allocated page.
2015-09-11 12:07:35 -06:00
Matthew Flatt
15271b673d GC: adjust fixup phase to not touch irrelevant page records
This is another step toward making a minor collections independent
of total allocation.
2015-09-11 12:07:34 -06:00
Ryan Culpepper
8d9eb05347 syntax/parse: accept #:context (list symbol/#f syntax)
The symbol is used as the "who" field in the error message.

Also fix lazy-require of runtime-report.rkt in residual.rkt; don't
load until syntax-parse actually needs to produce an error report.
(Previously was loaded to create handler whenever syntax-parse code ran.)
2015-09-10 21:49:21 -04:00
Asumu Takikawa
4c2a32d293 Document inspector of #f for make-struct-type 2015-09-10 15:36:22 -04:00
Matthew Flatt
bc929d4876 raco pkg install: more parallelism for catalog lookups
The layer to handle Git repo clones triggers an early catalog
lookup, so add prefetching there, too.
2015-09-10 08:59:24 -06:00
Matthew Flatt
24eb509d15 fix broken test
Test added in 8ee717520f was broken, because it used
`(current-milliseconds)` instead of `(current-ienxact-milliseconds)`
to construct an argument to`alarm-evt`'
2015-09-10 07:57:30 -06:00
Matthew Flatt
58cc3e91c3 fix 32-bit Windows build for MSVC 2012 and up 2015-09-10 06:19:29 -06:00
Matthew Flatt
5aebb1c539 raco pkg: get catalog info and checksums in parallel
When `raco pkg {install,update}` has a list of packages to check,
first run through the list in a "prefetch" mode to create futures to
fetch the information. Issuing requests to servers in parallel
can greatly speed up `raco pkg update --all`.

Package content is still downloaded sequentially.
2015-09-10 06:16:50 -06:00
Matthew Flatt
9bf68db7f7 raco pkg: use Git protocol for GitHub sources
Using the GitHub API for GitHub sources can run afoul of API
limits. Since we now support the Git protocol generall, use
that for GitHub sources, too.

Set the `PLT_USE_GITHUB_API` environment variable to use the
GitHub API, instead.
2015-09-09 14:15:31 -06:00
Matthew Flatt
e318257a7f support Visual Studio 2015
Closes #996
2015-09-09 13:34:31 -06:00
Matthew Flatt
c492f763c7 Visual Studio projects: put <PlatformToolset> in more places
Putting <PlatformToolset> in the new places makes the projects
work when more than one version of Visual Studio is installed.

Maybe the old place was always the wrong place, or maybe
VS 2010 wanted it in the old place. Either way, sprinkling
the version in more places seems unlikely to hurt.
2015-09-09 13:34:07 -06:00
Asumu Takikawa
c160302be7 Bump version number for rename transformer change
Refers to commit 33bb5e9060
2015-09-09 11:37:59 -04:00
Matthew Flatt
e0506038ba doc database: retry on SQLITE_READONLY_ROLLBACK
The SQLITE_READONLY_ROLLBACK error is supposed to mean that a crash
occurred and a hot journal exists that needs to be replayed (but
can't, because the current connection is read-only).

In practice, it seems that the error can happen even if there has been
no crash. In that case, retrying in the same was as other transient
errors allows the process to continue.

A possible reason for the spurious error: In the implementation of
SQLite, comments in hasHotJournal() mention the possibility of false
positives (ticket #3883) and how the false positive will be handled in
the playback mechanism after obtaining an exclusive lock. The check
for a read-only connection after hasHotJournal() is called, however,
happens before that lock is acquired. So, it seems like the race
condition could trigger a false SQLITE_READONLY_ROLLBACK error.
2015-09-09 06:47:34 -06:00
Matthew Flatt
707f888c83 make base: more complete avoidance of user-specific state
User-scope package installation matching the version of
Racket being built could affect the collections visible
during `raco setup` for `make base`. In particular, the
presence of `setup/scribble` could cause all built docs
to be discarded.

Also, add the `--no-user-path` flag to `racket` (which
has long been documented as an alias for `-U`).
2015-09-09 06:24:35 -06:00
Vincent St-Amour
965fa8e34c Start using failure-result/c in docs.
Not exhaustive, just what I could think of.
2015-09-08 17:11:26 -05:00
Vincent St-Amour
e358c49573 Add rename-contract, if/c and failure-result/c from unstable/contract. 2015-09-08 17:11:26 -05:00
Vincent St-Amour
147baa63f7 Add port-number? and listen-port-number? to racket/tcp.
From `unstable/contract`.
2015-09-08 17:11:26 -05:00
Vincent St-Amour
dc11eede98 Add links to docs. 2015-09-08 17:11:26 -05:00
Vincent St-Amour
5f43b3a913 Move non-empty-string? to racket/string.
From `unstable/contract`.
2015-09-08 17:11:26 -05:00
Matthew Flatt
261b7bde28 set-phantom-bytes!: fix tracking across generations 2015-09-08 15:29:09 -06:00
Asumu Takikawa
33bb5e9060 Make prop:rename-transformer accept a procedure
Allows the choice of target identifier to be delayed
until expansion time, rather than fixed at the point of
the transformer definition.
2015-09-08 13:29:13 -04:00
John Clements
a07ed4647e make path/param transparent 2015-09-08 09:06:44 -07:00
John Clements
98a861507f net: make #<url> structure transparent 2015-09-08 09:06:44 -07:00
John Clements
28d5ae19f9 http-client: don't try to gunzip an empty stream 2015-09-08 09:06:43 -07:00
Matthew Flatt
98b819edd4 enable some tests
Some tests that rely on a `main` submodule for places
need a `test` submodule, too.
2015-09-08 07:39:48 -06:00
Matthew Flatt
8394936ee0 collapse copied code in GC 2015-09-08 07:39:48 -06:00
Matthew Flatt
37c4ea4720 GC: adjust backpointer marking to not touch other page records
Also, free medium pages for a terminated place.
2015-09-08 07:39:48 -06:00
Matthew Flatt
9372862ee2 GC: move minor work to clean-up phase instead of setup 2015-09-08 07:39:48 -06:00
Matthew Flatt
7eee429705 avoid traversing table of JITted code names on every GC
The table as a tree is traversed to prune empty branches,
but the travseral is needed only toward branches that
have changed. Skipping the traversal can save several
milliseconds on each collection.
2015-09-08 07:39:48 -06:00
Matthew Flatt
c401d86bb3 streamline name handling in make-struct-type
Name handling formerly interned symbols along the
way to allocating a plain string, which takes effort
and causes changes to the symbol table, which forces
a minor GC to traverse the whole symbol table. Skip
unnecessary symbol-interning steps.
2015-09-08 07:39:48 -06:00