Commit Graph

4062 Commits

Author SHA1 Message Date
Asumu Takikawa
94e14e1df8 Use correct parent for date* in makeexn
Please merge to 5.3.2
(cherry picked from commit 2ac6615da9)
2013-01-16 08:07:13 -05:00
Matthew Flatt
478f3d64d9 futures: bug fix
The problem was in the handing of "lightweight continuations" used to
represent suspended computations, and in particular the handling
of continuation marks (such as the ones added by DrRacket's debugging
mode).

Unfortunately, I wasn't able to construct a simpler test case that
triggers the problem. I think the number of installed continuation marks
has to be just right, and there have to be some replacing marks, and
a lightweight continuaiton has to be captured at the right time
as a result of applying a previously captured continuation.

Closes PR 13427

Merge to v5.3.2
(cherry picked from commit f93c620814)
2013-01-15 17:51:19 -05:00
Juan Francisco Cantero Hurtado
0b02ae84e6 It fixes a crash on OpenBSD
It fixes a crash in the installation on OpenBSD. Racket reaches the
limits of the shell when it is compiled with a non-root user account.

Tested on OpenBSD-current amd64.

Merge to v5.3.2
(cherry picked from commit 99c60d725c)
2013-01-15 17:51:10 -05:00
Eli Barzilay
e121bef9b9 2012 -> 2013
(cherry picked from commit 79b9acd444)

Conflicts:
	src/worksp/gracket/gracket.rc
	src/worksp/racket/racket.rc
2013-01-11 15:33:47 -05:00
Eli Barzilay
1a9d203f29 New Racket version 5.3.1.900. 2013-01-08 10:45:20 -05:00
Ryan Culpepper
b335a3d350 Alpha version number for the v5.3.2 release 2013-01-08 00:16:27 -05:00
Matthew Flatt
05837fac1b planet2: installation-wide config of default `raco pkg' scope
With either
  configure --enable-pkgscope=installation
or
  raco pkg config -i --set default-scope installation
the default scope of `raco pkg' actions can be changed from
user-specific to installation-wide.

We considered trying to guess when someone building Racket would prefer
installation-wide package scope by default. In particular, someone
building from source for in-place use seems likely to want
installation-wide scope by default. Then again, we don't want to
discourage in-place builds for Unix installations that are intended
for multiple users. So, no guessing for now.

Also, add a `--scope' argument to `raco pkg' commands, which is more in
line with other options, but keep `-i', etc., as shorthands.
2013-01-06 11:17:22 -07:00
Matthew Flatt
5a1f0f3863 minor README correction 2013-01-05 08:42:20 -07:00
Michael Filonenko
6702fd38d2 supporting http proxy (without authorization) during make install 2013-01-05 06:48:05 -07:00
Matthew Flatt
67f0af387b fix problems with single-flonum (versus flonum) results
The problems were with

 * `sqrt' and `expt' on single-flonum complex numbers
 * `asin' and `acos' on single-flonum arguments and complex results
 * `atan' on mixtures of single-flonum and exact arguments
 * `gcd' on mixtures of single-flonum and flonum arguments
2013-01-04 08:00:24 -07:00
Matthew Flatt
3c5135fc7a `expt' repair, again
Previous repair wasn't general enough; negative powers can also
go wrong.
2013-01-01 18:05:37 -07:00
Matthew Flatt
07d5a9e385 fix `expt' on small negative number and large positive odd
The pow() function apparently gets it wrong on some platforms.

Closes PR 13391
2013-01-01 12:33:59 -07:00
Matthew Flatt
0097d59635 avoid compiler warning 2013-01-01 12:11:36 -07:00
Eli Barzilay
0a0fe1a011 New Racket version 5.3.1.12. 2013-01-01 03:30:13 -05:00
Matthew Flatt
cdfc4912ad racket/base: add exn:fail:filesystem:errno and exn:fail:network:errno
Provide raw error codes when available, which is mostly from filesystem
and networking primitives.
2012-12-31 12:04:03 -07:00
Matthew Flatt
dc9643aef6 fix typo in error message 2012-12-31 12:04:03 -07:00
Matthew Flatt
ba973a317f add `configure' test for mmap() and mprotect()
Use the test to enable execute permission on memory that is allocated
for code, including FFI callbacks.
2012-12-31 12:04:03 -07:00
Matthew Flatt
7cb7beae27 fix non-JIT build
Fix a reference to a function that is only available when the JIT is
enabled.
2012-12-30 20:30:33 -06:00
Matthew Flatt
05ce8bce80 win32: fix MinGW vs. MSVC build problem 2012-12-30 05:41:24 -07:00
Matthew Flatt
93affa4d5d fix a build dependency in --enable-shared mode
Closes PR 13392
2012-12-28 12:22:32 -07:00
Matthew Flatt
03259ef539 MinGW-w64 support
For now, SGC must be used, but `configure' does not select it
automatically.

Also, support Cygwin (in addition to MSYS) as a build environment
when using MinGW compilers. Since I build in a Cygwin environment
(which seemed to be the easiest way to get MinGW-w64 gcc), I use

  ../configure --host=x86_64-w64-mingw32 --enable-sgc
2012-12-28 11:06:46 -06:00
Eli Barzilay
b9a7f0ef62 New Racket version 5.3.1.11. 2012-12-28 03:35:13 -05:00
Matthew Flatt
f2d870859a logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
2012-12-27 14:12:40 -06:00
Matthew Flatt
7bddce81ad fix GC bug
The bug was introduced by commit aa08a68424, which added
support for phantom bytes.
2012-12-26 12:15:04 -06:00
Matthew Flatt
4a57db4448 add (system-type 'word)
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.
2012-12-24 06:38:53 -07:00
Robby Findler
aa27011f34 fix namespace-variable-value error reporting
closes PR 13387
2012-12-23 16:42:40 -06:00
Matthew Flatt
7ff6fd93ef restore incorrectly removed code
But fix its interaction with places and GC, allocating the symbol
on startup instead of per-place.
2012-12-21 17:46:56 -07:00
Matthew Flatt
a665239689 places: fix subprocess-reaping thread creation
Before the repair, a new thread was created with each
subprocess.
2012-12-21 15:52:01 -07:00
Matthew Flatt
d645200f93 fix build problem for non-Windows platforms 2012-12-21 11:52:48 -07:00
Matthew Flatt
9692765e26 places: fix initial stack setup
This repair likely affects all uses of gcc 4.6.x and
later.
2012-12-21 11:44:33 -07:00
Matthew Flatt
3d9b103181 clear some pointers after they are free()ed
If the pointer value is kept, then its possible (though unlikely)
that the GC will get confused.
2012-12-21 11:43:46 -07:00
Matthew Flatt
4b16c7616e mingw32: fix MSC-style underscore consistency 2012-12-21 11:43:45 -07:00
Matthew Flatt
3fb02ecb2e mingw32: use same strategy for thread-locals as MSVC
The gcc implementation of `_thread' seems to be much
slower, so we use the inline-assembly technique from
the MSVC build plus a hack in "main.c".
2012-12-21 11:43:43 -07:00
Matthew Flatt
0c91930965 mingw32: make no-futures, no-places build work 2012-12-21 11:43:42 -07:00
Matthew Flatt
1fc222f135 fix declaration mismatch for GC function 2012-12-20 05:43:59 -07:00
Eli Barzilay
c445a602a1 New Racket version 5.3.1.10. 2012-12-20 03:30:12 -05:00
Matthew Flatt
aa08a68424 add phantom byte strings
A phantom byte string is a small object that the memory
manager treats as an arbitrary-sized object, where the
size is specified when the phantom byte string is created
or or when size is changed via `set-phantom-bytes!'.
2012-12-19 18:42:14 -07:00
Matthew Flatt
4fc71951ee change subprocess handling to avoid waitpid(0, ...)
Keep track of whether any Racket-managed subprocesses are pending,
and use waitpid(0, ...) only if there is one, to better cooperate
with an embedding environment.

Also, add a chapter to the "Inside" manual to explain the issues.
2012-12-19 08:54:32 -07:00
Matthew Flatt
22f9c8509f fix optimizer bug, again
Corrects ef824351a1.
2012-12-16 16:04:19 -07:00
Matthew Flatt
ef824351a1 fix optimizer bug
Moving an expression that is referenced through a level of copy
propagation did not fix up a nested static distance correctly.

Closes PR 13355
2012-12-16 13:11:57 -07:00
Matthew Flatt
d3e4fbe7a7 make scheme_check_threads() run at least on thread quantum
As long as some thread is ready to run, and in case the threads
synchronize after very little work, keep checking threads for
at least one thread quantum.
2012-12-16 13:11:56 -07:00
Matthew Flatt
5baf63f821 syntax-local-get-shadower: fix interaction with marked bindings
Getting a shadower should not drop module context if the context
determines a binding that has marks.
2012-12-13 19:34:32 -07:00
Matthew Flatt
8f3cdd3a03 fix miscapitalization
The capitalization was meant for Windows using MinGW, but it's
not separated from the Unix install.
2012-12-09 15:00:08 -07:00
Matthew Flatt
bca4f47188 fix `configure' typo for MinGW 2012-12-09 14:54:29 -07:00
Matthew Flatt
5b016b4c32 win32: support MinGW build
A MinGW build is the same shape as a MSVC build (but without
MzCOM), unlike a Cygwin build.
2012-12-09 11:26:02 -07:00
Jon Zeppieri
8489448e42 ffi: fix prop:cpointer so that it works with a procedure value 2012-12-07 06:43:30 -06:00
Matthew Flatt
64f0273829 fix printing problem with flvectors 2012-12-05 05:56:59 -06:00
Matthew Flatt
42a0342109 ffi: use newer prim-closure representation for foreign functions
Cuts 1/3 of the time off a call for a micro-benchmark, since the
path from JIT-generated code to C code is faster.
2012-12-03 10:42:35 -07:00
Matthew Flatt
9cf821b301 disallow #fx()' and #fl()' notation in `read-syntax' mode
Allowing them would require support for immutable fxvectors and
flvectors, interning, and more. Since the motivation for reader
support is to make marshaling and unmarshaling easier, allow
them only in `read' mode. Change printing to make then unquotable.
2012-12-03 10:42:35 -07:00
Kevin Tew
492167c23f read and write support for fxvectors and flvectors 2012-12-03 10:42:35 -07:00