Commit Graph

578 Commits

Author SHA1 Message Date
Robby Findler
1e910fcfbc make check-metafunction and check-reduction-relation
pay attention to the contract/#:domain spec

closes PR 13616
2013-03-17 20:50:23 -05:00
Robby Findler
3e27388571 missed some changes related to addition of dont-care values
in the lexers
2013-03-10 21:56:43 -05:00
Matthew Flatt
454f4c3f0e slideshow: add `interactive'
The `interactive' pict constructor is a hook for interactive GUI
elements on a slide. The callback associated with an `interactive'
pict gets a `frame%' instance for a frame that floats over the pict.
2013-03-07 21:46:48 -07:00
Matthew Flatt
9e0e2b932d scribble/srcdoc: add `begin-for-doc' 2013-03-07 21:46:48 -07:00
Matthew Flatt
8d03995b62 scribble/manual: add #:id' option to defthing'
Use this open in the HtDP language documentation in the same
way as for `defproc', which fixes the docs for `pi', `e', etc.
2013-03-05 07:48:26 -07:00
Robby Findler
42847ea523 follow up to William J. Bowman's commit
- put the tests together with the other define-union-language tests
- fix the docs
- add a release note
- construct the merged language a bit more directly
- properly deal with this kind of thing:
  (define-language L1 (e f ::= 1 2 3))
  (define-language L2 (e g ::= 4 5 6))
  (define-union-language L L1 L2)
2013-03-01 19:38:57 -06:00
Matthew Flatt
cdf0f6b9ab add 'so-mode to `system-type'
To work better with OpenBSD (which has been a problem since we
changed `ffi-lib' to open libraries in "local" mode by default).
2013-03-01 15:20:17 -07:00
Matthew Flatt
cb8dd143d9 slideshow/balloon: add `balloon-enable-3d' 2013-03-01 15:20:17 -07:00
Matthew Flatt
abf44f8b49 add `module-compiled-cross-phase-persistent?' 2013-02-27 08:53:43 -07:00
Matthew Flatt
e15569e006 add `racket/kernel/init' 2013-02-26 19:01:36 -07:00
Matthew Flatt
2646ff6895 try "phase-collapsing" instead of "phaseless" 2013-02-26 19:01:36 -07:00
Matthew Flatt
899a3279c2 add experimental support for "phaseless" modules
The intent is to support phase-crossing data such as the `exn:fail:syntax'
structure type that is instantiaed by macros and recognized by contexts
that use `eval' or `expand'. Phaseless modules are highly constrained,
however, to avoid new cross-phase channels, and a module is inferred to
be phaseless when it fits syntactic constraints.

I've adjusted `racket/kernel' and improved its documentation a little
so that it can be used to implement a phaseless module (which can
import only from other phaseless modules).

This change also adds a `flags' field to the `mod' structure type
from `compiler/zo-structs'.
2013-02-26 14:55:28 -07:00
Matthew Flatt
42b8163f8f fix docs on `case'
The Guide was was out-of-date in several ways, and the Reference
didn't describe the dispatch-time guarantee.
2013-02-21 08:34:54 -07:00
Matthew Flatt
79c4af4e45 racket/base: add `impersonator-ephemeron' 2013-02-18 17:01:11 -07:00
Matthew Flatt
d46411d317 ffi/unsafe: add _size', _ssize', _ptrdiff', _intmax', `_uintmax'
These additions could create backward-compatibility problems, but our
searches suggest that problems will be rare; it's more common for
`_size_t' to be incorrectly aliased to `_int', so having definitions
for these standard types is likely to avoid future problems.
2013-02-18 17:01:11 -07:00
Robby Findler
f13829dd5d esc;h history note 2013-02-18 10:38:43 -06:00
Matthew Flatt
23d0627acc scribble: improve HTML handling of 'unnumbered and 'toc-hidden
A part with style property 'toc-hidden no longer
hides child sections, which makes it consistent with Latex/PDF
rendering.

A part with style 'grouper and 'unnumbered does not make its
child parts render as more nested, which is consistent with
'gruper without 'unnumbered. An unnumbered grouper is represented
as "" in a section-number list (while #f is still used for
unnumbered non-grouper layers).
2013-02-15 20:11:18 -07:00
Michael Filonenko
840fc9c657 full unboxing for extflonums, plus `ffi/unsafe' support
Includes a repair for floating-point `min' and `max' that affects all
x86 builds that use SSE arithmetic, leaving the (otherwise unused)
floating-point stack in a bad state, which might have affected
x87-using C/foreign libraries running alongside Racket.
2013-02-15 12:15:34 -07:00
Matthew Flatt
421cb24138 add `port-counts-lines?' 2013-02-14 15:45:26 -07:00
Tobias Hammer
7e2b443fa9 Support for multiple value return from wrap-evt and handle-evt
wrap/handle-evt that receives multiple values must have a handler function with adequate arity.

struct.c:
  change contract for wrap/handle-evt from (any/c -> any) to procedure?
thread.c:
  adjust sync processing
sync.rktl:
  add test for handle-evt, wrap-evt and prop:evt
2013-02-14 15:45:26 -07:00
Robby Findler
0531412a8e restore changes that don't go into 5.3.3 2013-02-06 15:05:53 -06:00
Robby Findler
dfed25cfe1 add v5.3.3 notes 2013-02-06 15:05:53 -06:00
Robby Findler
12ebfa2cf4 make #:keywords have different color prefs in DrRacket
closes PR 13492
2013-02-05 12:32:48 -06:00
Matthew Flatt
d0cfc34a77 racket/gui/base: fix menu-bar%' get-frame' to return 'root
Return 'root istead of exposing the (hidden) root frame for
a menu bar that is shown when no frames are visible.
2013-02-05 11:44:38 +01:00
Matthew Flatt
0583616dd7 racket/date: change current-date', add date*->seconds' 2013-02-01 15:00:24 -08: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
17865bfa84 scribble/latex-properties: add `command-extras'
This style property is a way to add to the Latex output that is
ignored for HTML and other output.
2013-01-24 06:43:10 -05:00
Matthias Felleisen
bcec8bc26e history updated for 5.3.2; PLEASE MERGE 2013-01-22 10:37:07 -05:00
John Clements
e7528f2bb2 updated release notes for 5.3.2.
Merge to release.
2013-01-21 10:13:14 -08:00
Vincent St-Amour
e763d1e1ae Updated TR history.
Please merge to 5.3.2.
2013-01-18 15:33:12 -05:00
Matthew Flatt
48e0509381 add `file-truncate' 2013-01-18 11:03:46 -06:00
Matthew Flatt
769aee076c Summarize Racket history for v5.3.2
Merge to v5.3.2
2013-01-18 11:03:46 -06:00
Robby Findler
8f756d1bcb updated HISTORY
please merge to 5.3.2
2013-01-17 19:50:14 -06:00
Asumu Takikawa
cd03585521 HISTORY update 2013-01-14 10:58:14 -05:00
Robby Findler
cce6f28d4d remove 'create executable' functionality from drracket for all
langauges except The Racket Language and the HtDP and DMdA languages
2013-01-05 12:19:26 -06:00
Robby Findler
0f9674e1dd adjust drracket window size and position preferences to use a different key
This will make switching back and forth between 5.1.3 and the latest
not lose the frame size and position preferences (since the format
of the data is different now that the current release remembers
the position on a per-monitor-configuration basis)
2013-01-01 11:26:05 -06: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
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
f29230f8f2 add `scribble/tag' and clean up some tag-related documentation and functions
Includes the addition of `make-section-tag' and `taglet?' to
`scribble/base'.
2012-12-27 09:24:14 -06:00
Robby Findler
d2d1ac2f2c Improve the logger GUI in DrRacket
One drawback to the current situation (after this commit) is that all
log messages are sent into the user's logger, even messages that come
about as part of DrRacket's implementation. It isn't clear how to fix
this without enumerating all of the possible messages to share and
explicitly forwarding them (both of which are suboptimal things).

On the plus side, the GUI now uses the "debug@GC" notation in a text
field, and when the logger pane is not open, there is no extra work
going on. Plus other, minor GUI improvements.
2012-12-26 22:38:42 -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
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
d88e26d7a1 racket/date: fix 'iso-8601 formatting
Closes PR 13372
2012-12-18 06:39:59 -07:00
Matthew Flatt
0f909af765 ffi/com: add `com-get-property*'
Accesses a "parameterized property", which is like a method call
but for a name that is categorized as a property.
2012-12-18 06:39:59 -07:00
Matthew Flatt
b8b8260379 net/url: add `current-url-encode-mode'
Changing `current-url-encode-mode' from 'recommended to 'unreserved
causes `url->string' to encode !, *, ', (, and ) using %, which
can avoid confusing some parsers.

See also https://github.com/plt/racket/pull/198
2012-12-17 06:56:38 -07:00
Matthew Flatt
3d1f1289ef net/uri-codec: added `uri-path-segment-unreserved-encode' 2012-12-17 06:32:59 -07:00
Matthew Flatt
9e8477dd45 racket/serialize: serialize fxvectors and flvectors 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
Robby Findler
d94d479f15 added 'boolean' pattern to Redex
closes PR 13330
2012-11-30 19:17:27 -06:00
Robby Findler
7ac80bbb01 make the paren highlight use non alpha=1 colors so that
the paren highlight composes with other highlighting in the editor
2012-11-30 10:00:46 -06:00