Commit Graph

38582 Commits

Author SHA1 Message Date
gus-massa
93112c4557 fix typos 2017-09-10 21:26:28 -04:00
Matthew Flatt
e819b58461 raco setup: fix dependency checking for extensions like ".a60" 2017-09-09 19:48:20 -06:00
Matthew Flatt
c8ecb5e5fe fix URL parsing in search-in-context browser trampoline
Use the `URL` class in JavaScript instead of manually parsing a URL
string.

Related to #1798
2017-09-09 19:48:20 -06:00
Vincent St-Amour
bc3e661181 Post-release version for the v6.10.1 release 2017-09-08 13:45:54 -05:00
Matthew Flatt
425d08c8e2 optimizer: improve hashing of variables during inlining
When creating a copy of a variable in the process of inlining, make
sure the copy has its own `eq?` hash code.
2017-09-07 17:54:11 +01:00
Matthew Flatt
1f02cf226e fix eq[v]? hashing with many collisions
Normally, it's impossible to generate lots of `eq?`-hashing
collisions, but when the compiler inlines a function, it can duplicate
variables in a way that gives each copy the same `eq?` hash code. The
immutable-hash tree implementation failed when more than 32 collisions
occurred (which triggers a subtree in the collision node).

It's similarly very difficult to generate > 32 values that collide on
`eqv?` hashes but are not `eqv?` (although it must be possible using
exact rationals or complex numbers).
2017-09-07 17:42:29 +01:00
Matthew Flatt
94cee519e1 re-unbreak handling of symlinks on Windows
The repair from commit 046503de88 was lost in 98a78add9f.
2017-09-07 09:01:07 +01:00
Jay McCarthy
0d59486839 Remove inline style 2017-09-05 15:15:38 +01:00
Jay McCarthy
db82df1295 Make decision on helper text dynamically 2017-09-05 11:13:01 +01:00
Jay McCarthy
d325e03782 Redirect users attention to local vs global documentation search distinction 2017-09-05 09:42:29 +01:00
Milo Turner
361442c197 require racket/contract/base in generic.scrbl to fix label links 2017-09-04 10:50:40 -05:00
Royall Spence
e991dd5ccb Move rackunit-lib to build-deps instead of deps
This should only needed for development purposes and not at runtime for the typical package.
2017-09-01 00:17:25 -04:00
Ben Greenman
b743544806 doc: example recursive-contract (#1785) 2017-08-28 16:15:51 -04:00
Sam Tobin-Hochstadt
3dd17c73ed Clarify current-future. (#1780) 2017-08-23 16:58:52 -04:00
Ryan Culpepper
e9f2c084eb db/sqlite3: use {start,end}-atomic instead of call-as-atomic
On my machine, this reduces the running time of the sqlite3
tests by about 1/4 (~3.2s to ~2.4s).

Other things I tried that didn't make as big a difference:
- coalesce A regions
- fast path for call-with-lock
2017-08-23 12:30:48 -04:00
Ryan Culpepper
2df51c4d19 db: add strict dependency on prepared-statement module
Otherwise, lazy-require can make the finalizer thread
get the wrong initial custodian.
2017-08-23 02:39:19 -04:00
Ryan Culpepper
09e90c65dc db: remove custodian registration on disconnect 2017-08-23 02:39:12 -04:00
Ryan Culpepper
e61d8aa1b2 syntax/parse template: update docs 2017-08-23 02:01:27 -04:00
Ryan Culpepper
532b322896 syntax/parse template: add datum-template 2017-08-23 02:01:27 -04:00
Ryan Culpepper
5fba2ee9c7 syntax/parse template: move quasitemplate support to pre-pass
Note: quasisyntax has a bug: #`(... (1 2 #,@(list 3) 4)).
Within an escape, no way to express splicing desugaring.
So add a private variant of ?@ that is interpreted even escaped.
2017-08-23 02:01:27 -04:00
Ryan Culpepper
a3511fbafb syntax/parse template: separate guide for re-syntax
Make datum->syntax explicit in guide rather than combined with
constructors like t-cons/x and t-dots (conditional).
This will make datum support easier, later.
For now, it makes it easier to do relocate correctly.

Also, make t-metafun, h-splice inlinable.
2017-08-23 02:01:27 -04:00
Ryan Culpepper
723140720e syntax/parse template: add simple ellipsis special case 2017-08-23 02:01:27 -04:00
Ryan Culpepper
50cb7fbaf7 syntax/parse template: compile = datum->syntax
Change guide reps to coincide with expressions for template compilation.
2017-08-23 02:01:27 -04:00
Ryan Culpepper
affe32e148 syntax/parse template: reorganize code, update comments 2017-08-23 02:01:27 -04:00
Ryan Culpepper
5005a26901 syntax/parse template: encourage inlining of template combinators
With inlining, the optimizer can turn templates into mostly
first-order code.
2017-08-23 02:01:27 -04:00
Ryan Culpepper
916ebf403e syntax/parse template: track syntax vs non-syntax pairs in template
Allows generation of more specialized code (hopefully smaller
and faster).

Also clean up some other guide reps.
2017-08-23 02:01:27 -04:00
Ryan Culpepper
ca38b89ae6 syntax/parse template: change run-time strategy
Instead of doing run-time interpretation of a "guide" tree,
generate code for procedure (using stx -> stx combinators).
2017-08-23 02:01:27 -04:00
Ryan Culpepper
d8b80d7e1d syntax/parse template: add newlines in stress-test output 2017-08-23 02:01:27 -04:00
Ryan Culpepper
eb65a859cd syntax/parse template: remove syntax-property handling
Since template was written, Racket has added a notion of preserved
syntax properties.
2017-08-23 02:01:27 -04:00
Matthew Flatt
ff1ec66c7f pkg catalog operations: store and propagate ring number
Although `raco pkg` doesn't use a package's ring number, it's useful
to preserve for other tools (like the pkg-build service). Adjust `raco
pkg catalog-copy` and `raco pkg catalog-info` to recognize and store a
ring number.
2017-08-22 16:55:10 -06:00
Matthew Flatt
8257a592a0 avoid unnecessary security-guard invocations in ffi-lib
Relevant to racket/sandbox-lib#1
2017-08-21 19:19:57 -06:00
Robby Findler
67ac06e6ed fix some issues surrounding the #:list-contract? argument to various contract combinator utilities
closes #1756
2017-08-21 14:39:52 -05:00
Matthew Flatt
98a78add9f rktio: move dlopen/dlsym/etc. adapter to rktio
Also, sync header-annotation improvements from the racket7 branch.
2017-08-20 15:32:47 -06:00
Matthew Flatt
c87cdf5988 fix docs for list->cblock and vector->cblock 2017-08-19 19:02:06 -06:00
Matthew Flatt
52e7267273 doc correction for will-execute 2017-08-19 19:02:06 -06:00
Ben Greenman
3e2325acaf doc: #lang racket does not reprovide 'racket/logging' 2017-08-19 00:53:42 -04:00
Matthew Flatt
93ea42d7b7 tcp-addresses: fix result for a connection peer
In the rktio conversion, the peer-address results were incorrectly
wired to the local-address function.
2017-08-18 09:27:23 -06:00
Matthew Flatt
d6fdabd691 fix doc typo 2017-08-18 09:27:23 -06:00
Jay McCarthy
d1749329a6 fixes pr15467, thanks 2017-08-17 10:40:35 -04:00
Matthew Flatt
046503de88 unbreak handling of symlinks on Windows
A mistake in the rktio conversion causes a crash if certain functions,
such as `directory-exists?`, are used before certain other functions,
such as `resolve-path`.

Thanks to Alex Harsanyi for the report.
2017-08-16 08:31:46 -06:00
shhyou
e997bb96ea Point make-meta-reader to the document of read
- Point read, read-syntax and make-meta-reader to
  the documentation explaining the arguments of
  read and read-syntax.
2017-08-15 07:12:40 -06:00
Matthew Flatt
1a9dee59da deregister semaphore for a blocking file descriptor
The rktio conversion lost the deregistration of file descriptors in an
internal fd-to-semaphore table building on kqueue/epoll, causing the
wrong semaphore to be checked for a later recycling of the file
descriptor. This bug mainly affects Linux and ports created by
`subprocess`, since kqueue is not used for pipes on Mac OS and BSD
variants. The bug does not affect network sockets (which are the
primary intended clients of epoll/kqueue support), since the relevant
semaphore is deregistered when a socket is closed.

Thanks to James Bornholt for discovering the problem and providing the
repair.

Closes #1769
2017-08-10 19:54:04 -06:00
Matthew Flatt
664bec2040 repair a problem with module->namespace
Fix a problem with compile-time bindings added to a
namespace created by `module->namespace` for a module
that does not have a source file.

Possibly, there's a different fault that should be fixed that caused a
binding to use the module's instantiation-time module path index
instead of its compile-time module path index (which is what happens
when a file is involved). This repair fixes the problem in a general
way, though, and leaves further improvement to the reimplementation of
the expander in Racket (which already does not suffer from the bug).

Thanks to Alexis for providing the example.
2017-08-10 18:33:49 -06:00
Matthew Flatt
59fc3758f0 thread-suspend-evt: doc correction 2017-08-10 18:33:49 -06:00
Matthew Flatt
f790084e11 call-in-nested-thread: add missing info in docs 2017-08-10 18:33:49 -06:00
Leif Andersen
f88704858a
Fix the contract for with-intercepted-logging
The contract was missing the required log-level/c. This commit
adds it.
2017-08-08 12:20:13 -04:00
Ryan Culpepper
5519a8ab45 example of unquoted-printing-string in make-constructor-style-printer 2017-08-04 12:24:13 -04:00
Ryan Culpepper
4a71936f23 syntax/parse: improve stxclass arity mismatch error messages 2017-08-04 12:24:13 -04:00
Matthew Flatt
2092deab28 more corrections for unquoted-printing string addition
More repairs to cbfcc904ab. Thanks to Ryan for noticing
the problems.
2017-08-04 10:16:41 -06:00
Matthew Flatt
d062212ebc future: fix problem related to continuation marks
Capturing, restoring, then capturing again a future's continuation
marks did not work right.
2017-08-04 10:13:52 -06:00