Commit Graph

35811 Commits

Author SHA1 Message Date
Matthew Flatt
c9c03dd40b regexp-replace*: recognize \$ as empty string 2015-10-05 13:28:53 -06:00
Stefan
d988055a49 added crypto-random-bytes 2015-10-05 12:00:01 -06:00
Asumu Takikawa
a729c028a6 Add racket/os library.
For now this just contains two functions from mzlib/os.
2015-10-05 11:59:38 -06:00
Gustavo Massaccesi
09a2b630bc Generalize inferred names
After some expansions, a expression with the syntax property 'inferred-name of
'x is converted to one with ('x . 'x), so it's not useful to get the name of a
procedure. So we simplify the syntax property 'inferred-name to handle
these cases.
2015-10-05 10:25:57 -06:00
Gustavo Massaccesi
b0800dab16 Typo 2015-10-05 10:15:33 -06:00
Matthew Flatt
b92eac82ab patch Pango to make the system control font accessible
The patch doesn't directly make the font accessible, but
it provides a hook so that the font can be made accessible.
2015-10-04 20:30:17 -06:00
Robby Findler
2516374744 account for the added caveat line in the example error message dissection
Thanks to Paolo G. Giarrusso for spotting this and proposing a fix
2015-10-03 09:43:51 -05:00
Matthew Flatt
2c7663eb5e remove accidentally committed explicit GC
I even marked it "REMOVEME", but didn't look at the commit
closely enough before pushing.
2015-10-02 12:50:08 -06:00
Matthew Flatt
93d9826936 fix another problem with GC and place messages
When a place message is deserialized by simply adopting the page
containing the message, the adoption can trigger a garbage
collection, but there's still a pointer to a chain of objects
"in flight" in the thread, and a GC can discard the pairs that
form the chain.
2015-10-02 11:48:25 -06:00
Matthew Flatt
d1a942be63 net/git-commit: add a #:strict-links? argument
Fail on checkout if it creates a symbolic link with an absolute
path or a relative path with "..".

Adjust `raco pkgs` to use `#:strict-links? #t`.
2015-10-02 09:38:27 -06:00
Matthew Flatt
42cf80815d net/git-checkout: fix checkout of symlinks 2015-10-02 09:05:34 -06:00
Matthew Flatt
4caaf3e8b3 Use "https://" instead of "git://" for GitHub download
I originally chose "git://" because I thought "https://"
from GitHub didn't support `--depth 1`, but that does not seem
to be the case.
2015-10-02 08:35:28 -06:00
Matthew Flatt
ed07a5e176 fixup 2015-10-02 05:50:06 -06:00
Matthew Flatt
8c51d50cd2 raco pkg: improve Git repo-download caching
Drop the path and branch from a URL that references a Git
repository, so that a single download is used for multiple
packages in the same repo.
2015-10-01 22:04:24 -06:00
Matthew Flatt
acac7092c5 doc tweak 2015-10-01 21:30:46 -06:00
Matthew Flatt
7671c15b17 more GC callback shapes to support Mac OS X 10.11 2015-10-01 21:23:25 -06:00
Matthew Flatt
7abe38e763 adjust namespace-relative treatment of compiled require
Removing all original module context doesn't work, because it
doesn't distinguish between fragments of syntax that had the
"inside-edge" scope without the "outside-edge" scope.

Record the presence of the outside-edge scope by using the
root scope, and convert the root scope to the current namespace's
outside-edge scope on evaluation.
2015-09-30 11:32:16 -06:00
Matthew Flatt
6e80609998 macro expander: fix over-eager pruning of use-site scopes
The bug could cause

 #lang racket/base

 (define x 'outer)

 (define-syntax-rule (def-and-use-m given-x)
    (begin
      (define-syntax-rule (m)
        (let ()
          (define given-x 'inner)
          x))
      (m)))

 (def-and-use-m x)

to produce 'inner when it should produce 'outer.

Thanks to Brian Mastenbrook for pointing the problem and
providing examples.
2015-09-30 08:39:03 -06:00
Matthew Flatt
31549082e6 avoid crash when interrupting bytecode unmarshal
Interrupting bytecode unmarshal for syntax objects could leave
half-constructed values in a table that is intended to resolve graph
structure. Clear out work towards a graph construction when
interrupted.

The most common symptom of half-constructed syntax objects was a crash
after a Ctl-C during startup.
2015-09-28 14:38:12 -05:00
Sam Tobin-Hochstadt
dfef5b43fc Add --write option to fuzzer. 2015-09-23 15:49:18 -04:00
Sam Tobin-Hochstadt
57b4920234 Check that serialized procedures are the right kind of procedures.
Fixes http://drdr.racket-lang.org/31801/pkgs/racket-test/tests/racket/stress/fuzz.rkt
2015-09-23 15:49:18 -04:00
Sam Tobin-Hochstadt
d6ad89764b Add a few more pair checks. 2015-09-23 15:49:18 -04:00
Sam Tobin-Hochstadt
083029fa6f Add pair check in unmarshalling.
Closes #1070.
2015-09-23 15:49:18 -04:00
Matthew Flatt
aaf098f203 fix potential GC problem while setting up a place channel 2015-09-22 16:45:47 -06:00
Robby Findler
5a33856802 change or/c so that it takes the first ho projection
whose first-order predicate accepts a value, instead
of requiring that there be exactly one
2015-09-22 09:05:34 -05:00
Robby Findler
45b635f707 don't set permissions on windows, for now
(at some point hopefully we'll figure out
what's the right behavior here)

This is related to pull request #1060
2015-09-22 09:00:55 -05:00
Spencer Florence
35a0f0c71c make sure git checkout have correct perms 2015-09-21 14:17:51 -05:00
Matthew Flatt
003bca503f avoid compiler warnings 2015-09-20 21:13:27 -06:00
Matthew Flatt
93efe503ad fix misuse of comparison macro 2015-09-20 21:13:27 -06:00
Matthew Flatt
1d5b34f48b auto-detect when strip -S works for archives
Otherwise, don't try to strip archives such as "libracket3m.a".
2015-09-20 21:13:17 -06:00
Matthew Flatt
b37c07a280 Windows: generate "lib/msvc" content from cross-compile 2015-09-20 19:54:42 -06:00
Matthew Flatt
15797a7951 Windows: use same TLS strategy for both VC and MinGW in 64-bit mode 2015-09-20 19:17:15 -06:00
Matthew Flatt
8d43c73a0c windows: use same scheme_setjmp() protocol with all compilers 2015-09-20 18:13:59 -06:00
Matthew Flatt
6dfc20d3ec fix inferred-name propagation for internal-definition contexts
Set the name while checking for an immediate expansion when
no other forms follow.
2015-09-19 19:27:13 -06:00
Robby Findler
7ee29b0239 Revert permissions change because of appveyer error (that I
should have seen before pushing, sorry)

This reverts commit 47f36952d6.
This reverts commit 47776f343d.
2015-09-19 20:24:51 -05:00
Spencer Florence
47f36952d6 removed duplicate case 2015-09-19 20:21:50 -05:00
Spencer Florence
47776f343d make sure git checkout have correct perms 2015-09-19 20:21:50 -05:00
Matthew Flatt
bcc65ac92e GC: separate old-generation finalizers from now ones
Avoiding a traversals of old-generation finalizers can
save a couple of milliseconds for a minor GC in DrRacket.
2015-09-19 16:49:58 -06:00
Matthew Flatt
7ff1cf3619 avoid traversal of full page table when restoring mprotects
Overlooked this traversal at 50df879e79.
2015-09-19 15:16:30 -06:00
Matthew Flatt
584920b3a6 GC: clarify page field overloadings
Rename fields in a page record and split some of them with `union` to
better document the intent of each field.

This change is intended to have no effect on the GC's behavior. One
tricky case is the line dropped around line 3542 of "newgc.c". That
line reset `scan_boundary` (formerly `previous_size`), which on the
surface is inconsistent with leving objects before the boundary
without `marked` bits set. However, that line is reachable only
when geneation-1 objects are being marked (objects newly moved
there would not be unmarked), in which case `san_boundary` should
already be reset.
2015-09-19 14:06:26 -06:00
Matthew Flatt
658bac7f52 note on catalogs and building from a tag
Closes #1058.
2015-09-19 09:40:43 -06:00
Matthew Flatt
1ddaad8d58 xform: accomodate tokens like "10_1"
Those show up in the Mac OS X 10.11 SDK in `availability`
annotations.

Closes PR 15154
2015-09-19 09:19:43 -06:00
Matthew Flatt
9768f632a2 Disable static-library install for Windows or Mac OS X
Also, OS X `strip` needs `-S` for archives, in case a static-library
install is enabled.
2015-09-19 09:05:45 -06:00
Matthew Flatt
a75bdbf0a1 remove unused variable 2015-09-19 08:52:19 -06:00
Matthew Flatt
ee9d797906 fix file descriptor handling for poll() without epoll()
This problem could cause busy-waiting after a network connection
on Android, for example.
2015-09-19 08:16:30 -06:00
Matthew Flatt
fccd86d67d configure: --enable-racket=auto to simplify cross-compilation
Using `--enable-racket=auto` causes a Racket for the current platform
to be built in a "local" subdirectory of the build directory as
support for cross-compilation.
2015-09-18 21:56:20 -06:00
Matthew Flatt
a88d52bd34 configure: make --enable-libs on by default 2015-09-18 21:06:00 -06:00
Matthew Flatt
1a48418844 infrastructure for raco ctool --c-mods <dest> --runtime <dir>
Make the runtime-file gatherer, which is normally used by `raco exec`,
work also for modules prepared for an executable that embeds Racket.
2015-09-18 18:55:22 -06:00
Matthew Flatt
a9015e5484 GC: remove unmaintained counters 2015-09-18 12:40:14 -06:00
Matthew Flatt
40f9467c07 count phantom bytes as regular allocation
The original idea was to count phantom bytes as "administrative
overhead", but issues discussed in #962 identified problems
with that idea. Finish shifting the accounting to treat
phantom bytes as payload allocation.
2015-09-18 12:26:32 -06:00