Commit Graph

4081 Commits

Author SHA1 Message Date
Eli Barzilay
f548555095 Post-release version for the v5.3.3 release 2013-02-06 22:43:19 -05:00
Matthew Flatt
38fb10eaec new-style contract errors for `exn' field guards 2013-02-05 11:44:38 +01:00
Matthew Flatt
442f6eaaae fix `regexp-match' variants given a long string and an output port
... again; commit d194fa6245 turned out to be incomplete.
2013-02-05 11:44:38 +01:00
Matthew Flatt
50a82872f0 x86_64-mac: Pango CoreText repair
Closes PR 13473
2013-02-02 19:41:59 -08:00
Matthew Flatt
5dda7c4b14 work around C library bug in powl() 2013-02-01 15:00:23 -08:00
Matthew Flatt
c1bd671b08 fix prototype when the C compiler has no "no inline" annotation 2013-02-01 10:35:38 -08:00
Matthew Flatt
ffb4b34494 another repair for extflonum support 2013-01-29 16:55:20 -07:00
Matthew Flatt
28493dcc88 repairs to extflonum changes 2013-01-29 05:53:30 -07:00
Matthew Flatt
74986a42e3 fix to use compiled startup code 2013-01-29 05:53:30 -07:00
Eli Barzilay
113077dc70 New Racket version 5.3.2.3. 2013-01-29 03:30:18 -05:00
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
Matthew Flatt
3777a6d3f0 fix problem with --enable-shared and CGC install 2013-01-25 12:10:36 -07:00
Matthew Flatt
9210437b3f fix internal-definition expansion
The code added to handle expressions mixed with definitions was
not introduced in the right way; fix it to be like macro-introduced
code.

Closes PR 13452
2013-01-25 05:08:46 -07:00
Matthew Flatt
00362a273f fix `string-normalize-nf[k]c' when composed is much smaller then decomposed
For composed normalization, space is initially allocated based on the
decomposed length. The clean up step to avoid wasted space was wrong.
2013-01-24 06:43:10 -05:00
Eli Barzilay
08106e072c New Racket version 5.3.2.2. 2013-01-19 03:30:14 -05:00
Matthew Flatt
48e0509381 add `file-truncate' 2013-01-18 11:03:46 -06:00
Asumu Takikawa
2ac6615da9 Use correct parent for date* in makeexn
Please merge to 5.3.2
2013-01-11 21:22:20 -05:00
Vincent St-Amour
6480addbd1 Distinguish between different kinds of inlining failures. 2013-01-11 18:40:23 -05:00
Vincent St-Amour
8e9f21b181 Make inliner log parsing more robust.
Relies less on regular expressions and more on a custom reader.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
768d88c53d Log functions too big to be inlined.
Patch from Matthew.
2013-01-11 18:40:18 -05:00
Matthew Flatt
f93c620814 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
2013-01-11 12:40:51 -07:00
Juan Francisco Cantero Hurtado
99c60d725c 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
2013-01-09 19:12:22 -07:00
Eli Barzilay
79b9acd444 2012 -> 2013 2013-01-09 01:17:26 -05:00
Eli Barzilay
3f65f91f03 New Racket version 5.3.2.1. 2013-01-08 03:30:08 -05:00
Ryan Culpepper
69f8f2f153 Post-release version for the v5.3.2 release 2013-01-08 00:16:59 -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