Commit Graph

543 Commits

Author SHA1 Message Date
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
Burke Fetscher
cf9b0f774b Change define-relation to compile to a judgment-form, instead of a metafunction.
Also:
- remove the restriction on the use of unquote in define-judgment-form
- allows limited use (I modes only) of judgment-forms in terms
- allows the use of define-relation with the search/unification
  based random term generation
2012-11-29 17:17:34 -06:00
Matthew Flatt
c0abe85d30 make case' in r5rs' and r6rs' still use eqv?'
Also, make both `case' and `cond' disallow internal definitions,
instead of inheriting the `racket' behavior.
2012-11-26 19:49:36 -07:00
Robby Findler
49a0b950b7 tweak to Nadeem's commit 2012-11-25 22:07:28 -06:00
Nadeem Abdul Hamid
8f3343cd01 automatic parenthesis mode improvements
Handle close parentheses in a smarter way while in
auto-parens mode and be a little more smart about
inserting brace pairs in general.

In summary:

 - Add some "smart-skip" behavior to insert-close-paren,
   described in the documentation.
    - When auto-parens mode is enabled,
      the existing "balance-parens" keybinding invokes
      insert-close-paren with a smart-skip argument of
      'adjacent
    - A new "balance-parens-forward" keybinding invokes
      insert-close-paren with a smart-skip argument of
      'forward (whether or not auto-parens mode is
      enabled)

 - Enable basic smart-skip behavior for
   strings ("...") and |...| pairs, specifically, typing
   a double-quote or bar character when the cursor
   immediately precedes one causes the cursor to simply
   skip over the existing one

 - Tweak auto-insertion of block comment pairs; i.e.
   typing hash and a bar results in a properly balanced
   #||# pair. Also, when you type a bar character when
   the cursor immediately precedes a closing bar and
   hash of a comment, then the cursor skips over both
   characters (this seems better than having it just
   skip over the bar, and then having to introduce a
   new keybinding to detect when a hash is typed while
   the cursor is between a bar and a hash)

 - In strings and line/block comments, auto-parens mode
   no longer has any effect (you can still use the M+..
   keybindings to force insertion of a particular brace
   pair)

 - Detect when a character constant is being typed, and
   don't insert brace pairs if so; i.e. if the cursor
   is immediately after #\ , then typing any open parens,
   double quote, or bar, does _not_ result in the
   insertion of an open/close pair even in auto-parens
   mode

 - Add a bunch of tests related to auto-parens, matching
   pairs of braces, strings, comments, etc. to
   collects/tests/framework/racket.rkt
2012-11-25 21:57:52 -06:00
Matthew Flatt
8a77d87a30 add file/unzip
Based on Dave Herman's "zip.plt" Planet package.
2012-11-20 10:12:27 -07:00
Matthew Flatt
0f47069f98 add file/untgz 2012-11-19 17:01:01 -07:00
Matthew Flatt
3a76581a36 add file/untar 2012-11-19 17:01:00 -07:00
Robby Findler
9298353e90 add recent changes to HISTORY 2012-11-17 20:17:19 -06:00
Matthew Flatt
bdf1c3e165 bytecode compiler: generalize local-type tracking for unboxing
Track fixnum results in the same way as flonum results to enable
unboxing, if that turns out to be useful. The intent of the change,
though, is to support other types in the future, such as "extnums".

The output `raco decompile' no longer includes `#%in', `#%flonum',
etc., annotations, which are mostly obvious and difficult to
keep in sync with the implementation. A local-binding name now
reflects a known type, however.

The change includes a bug repair for he bytecode compiler that
is independent of the generalization (i.e., the new test case
triggered the old problem using flonums).
2012-11-14 19:37:01 -07:00
Matthew Flatt
5400b41bce add `unsafe-cons-pair'
Also, make `list?' more optimistic about checking is  the "is list?"
flag on a pair.
2012-11-14 19:17:42 -07:00
Matthew Flatt
7b04571fac racket/gui: add `get-current-mouse-state' 2012-11-07 14:37:39 -07:00
Eli Barzilay
672910f27b Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".
2012-11-07 11:22:20 -05:00
Sam Tobin-Hochstadt
6f1f04f99c Typed Racket HISTORY. 2012-11-02 15:35:23 -04:00
Matthias Felleisen
45a5cfca12 basic history, please merge 2012-10-31 15:27:33 -04:00
John Clements
54c5538fd6 updated HISTORY
Include in 5.3.1 release.
2012-10-22 14:57:37 -07:00
Matthew Flatt
e59066debe bytecode validator: check "constant" annotations on variable references
Bytecode changes in two small ways to help the validator:
 * a cross-module variable reference preserves the compiler's
   annotation on whether the reference is constant, fixed, or other
 * lifted procedures now appear in the module body just before the
   definitions that use them, instead of at the beginning of the
   module body
2012-10-19 11:27:52 -06:00
Robby Findler
2b246e2ad2 added note about Burke's recent push 2012-10-19 09:35:12 -05:00
Robby Findler
8827f4b6b5 redex history release notes
merge to release please
2012-10-17 20:46:16 -05:00
Robby Findler
0660227d8a drracket history updates
please include in release
2012-10-17 20:45:25 -05:00
Matthew Flatt
31d56e10af update HISTORY for `{chaperone,impersonate}-prompt-tag' changes 2012-10-17 16:28:42 -06:00
Matthew Flatt
1d28b6c0f6 update change history for v5.3.1
Merge to v5.3.1
2012-10-17 16:28:41 -06:00
Matthew Flatt
9047427e07 further improvements to source locations for `require' forms 2012-10-01 07:14:46 -06:00
Robby Findler
f1dd6be88b adjust the installer dialog so that it prints a "completed"
message at the end of the transcript and so that it shuts down
the installation custodian (which means that any threads or
anything like that that the .plt file's code may have created
will die, plus that the "abort installation" button will now
be greyed out)

closes PR 13122
2012-09-19 06:03:03 -05:00
Matthew Flatt
fc52248446 add #:break' and #:final' to `for' forms
Support for break clauses complicates expansion to `for/fold/derived';
a new `syntax/for-body' library provides a helper for macros that need
to split a `for'-style body into a prefix part and wrappable part.
2012-09-14 14:57:35 -06:00
Matthew Flatt
ac5965a1dc racket/set: add set-first' and set-rest' 2012-09-12 17:57:03 -06:00
Matthew Flatt
4f351dd6b1 add `current-compiled-file-roots', PLTCOMPILEDROOTS, and -R/--compiled
The new parameter (and supporting environment variables and
command-line flags) can bytecode lookup to a tree other than
where a source file resides, so that sources and generated
compiled files can be kept separate. It also supports storing
bytecode files in a version-specific location (either with
the source or elsewhere).
2012-09-11 13:18:18 -06:00
Matthew Flatt
d92b9cb404 add `define-logger' and filtering based on logger name
The `make-log-receiver' function now includes a logger-name
filter. This filter is implemented as a low enough level that
it affects `log-level?' tests to check whether a log message
needs to be constructed at all.

The -W and -L flags and PLTSTDERR and PLTSYSLOG environment variables
support filters of the form "<level> <level>@<name> ...", where
<level>@<name> specializes filtering of events for a logger whose
name matches <name> to show <level> and higher.
2012-09-07 08:16:38 -06:00
Matthew Flatt
fc0d605d18 change `log-error', etc., to support format mode
One subexpression => string literal. Multiple subexpressions
=> arguments to `format'.
2012-09-07 08:16:37 -06:00
Matthew Flatt
b53e458e3f add `racket/format'
The new library is Ryan's `unstable/cat', but the names have been
changed. (The task of removing `unstable/cat' remains.)
2012-09-07 08:16:37 -06:00
Matthew Flatt
2f7d4b5eaf change a thread's initial prompt to use the default handler
The thread's initial prompt previously ignored its arguments.
2012-09-05 12:21:43 -06:00
Matthew Flatt
ba56fd72da racket/class: add dynamic-get-field' and dynamic-set-field!' 2012-09-04 15:28:18 -06:00
Matthew Flatt
8bd5dbf7cc ffi/unsafe: change `cast' to avoid pitfalls for you
The old `cast' didn't work right for a mismatch between
a pointer GCableness and the source or target types, and
it didn't work right for an GCable pointer with a non-zero
offset. While those pitfalls were documented, the first
of them definitely has been a source of bugs in code that
I wrote.

Also added `cpointer-gcable?'
2012-09-04 15:28:18 -06:00
Robby Findler
5e839664c4 adjust the variables editor so that it does
not do word wrapping.

This avoids the performance problem mentioned
in PR 12633
2012-08-15 13:45:10 -05:00
Matthew Flatt
6e2bb58cce add a #:fill' clause to for/vector' et al. 2012-08-15 09:32:55 -06:00
Matthew Flatt
b043da6ea6 SIGHUP and SIGTERM -> exn:break:hang-up' and exn:break:terminate'
The default uncaught-exception handler calls `exit' when it receives
one of the new exceptions.
2012-08-13 17:11:20 -06:00
Robby Findler
6588449aed enable online check syntax (change the default for
the preferences and use a new preferences symbol, so
everyone gets the new default)
2012-08-12 16:20:21 -05:00
Robby Findler
b6d7b0ebcc add note to history 2012-08-12 15:50:56 -05:00
Robby Findler
0369342bfe added names to clauses in define-judgment-form and added
judgment-form-cases to use the names to control typesetting
2012-08-08 21:34:28 -05:00
Burke Fetscher
29661cc675 add #:lang keyword to term, which checks that underscored symbols agree with patterns in the provided language...changed most internal uses of term to use this form 2012-08-08 11:09:01 -05:00
Matthew Flatt
f11450d601 scribble/base: generalize `itemlist' to splice/coerce some arguments
Also, add a `spliceof' contract constructor to `scribble/decode'.
2012-08-03 13:43:23 -06:00
John Clements
a5ebf8181b rewording of release notes message.
Merge to 5.3.
2012-07-26 23:21:14 -04:00
John Clements
8ba976c035 release notes update for stepper.
please merge to 5.3 release.
2012-07-26 14:52:15 -04:00
Robby Findler
fe9cdc0756 bring drracket history file up to date
merge to the release branch, please
2012-07-24 23:33:24 -05:00
Robby Findler
aa645e9650 brought up to date with version number
merge to release branch, please
2012-07-24 23:28:29 -05:00
Vincent St-Amour
c5b49066a8 Update TR history. 2012-07-24 13:48:05 -04:00
Matthias Felleisen
6768136144 docs for revised system error message completed 2012-07-20 12:30:30 -04:00