Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Checking mergeability… Don’t worry, you can still create the pull request.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 11, 2013
@jeapostrophe jeapostrophe Extending raco test to work on collections
(cherry picked from commit 3e0fff7)
@jeapostrophe jeapostrophe test - Supporting packages in raco test
(cherry picked from commit 9015c15)
Neil Toronto MPFR custodian shutdown procedure tries to clear the constants cache
even when MPFR isn't loaded; this should close PR 13423
(cherry picked from commit 441ad6e)
@takikawa takikawa Fix polydots
 - parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2
(cherry picked from commit f577b49)
@takikawa takikawa Change exception predicate for a test
For some reason, the other predicate breaks on some
test setups, even though it usually succeeds.

Please merge to 5.3.2
(cherry picked from commit c5c6280)
@greghendershott greghendershott Use Racket lexer for code blocks.
Had been specifying Scheme lexer for code blocks, while waiting for
new Racket lexer to wend its way from Pygments to Pygments.rb to
Linguist to GitHub.

That day is almost here: Linguist will soon update and deploy to
GitHub.  And Racket 5.3.2 is about to release.  As a result, I think
this is the correct time to switch to the Racket lexer: It should be
live on GitHub by the time people are using Racket 5.3.2.

/cc @rmculpepper -- I think this commit should go into the 5.3.2
(cherry picked from commit 4d3a5ba)
@mflatt mflatt scribble/decode: fix contract on `decode-compound-paragraph'
Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
(cherry picked from commit 5ab048b)
@mflatt mflatt scribble doc corrections
Merge to v5.3.2
(cherry picked from commit 5134bc0)
Commits on Jan 15, 2013
@juanfra684 juanfra684 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 99c60d7)
@jeapostrophe jeapostrophe Working with links in collection testing
(cherry picked from commit 3312a80)
@mflatt mflatt 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

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 f93c620)
@rmculpepper rmculpepper fix missing argument
  closes PR 13429

Merge to 5.3.2
(cherry picked from commit 9b1b15d)
@samth samth Fix XREPL logging printer to handle new logger name field.
Merge to 5.3.2.
(cherry picked from commit 2a1f702)
@samth samth Fix parsing of `maybe-optimize` result.
Merge to 5.3.2.
(cherry picked from commit 1a678bd)
Commits on Jan 16, 2013
@samth samth Add struct constructor table.
(cherry picked from commit 6965835)
@takikawa takikawa Fix error typo
Please merge to 5.3.2
(cherry picked from commit d95be2e)
@takikawa takikawa Use correct parent for date* in makeexn
Please merge to 5.3.2
(cherry picked from commit 2ac6615)
@elibarzilay elibarzilay Remove "internet-enabled" dmg creation.
Robby says that they're no longer recommended and rarely used by
browsers, and with a better dmg layout the contents should not be copied
automatically anyway.
(cherry picked from commit a3a4712)
@elibarzilay elibarzilay Do the conventional DMG layout.
Note that this requires a running Finder.  Note also that the process
involves attaching the created DMG which means that it might be
problematic with a machine that might have a volume by the same name
already attached (since the applescript uses the volume name, which is
not required to be unique).
(cherry picked from commit b5618b7)
@elibarzilay elibarzilay Make only binary distributions use laid-out DMGs.
This is done by adding an "ldmg" type for laid-out DMGs, and "dmg"
produces a plain container image as before.
(cherry picked from commit a2207e6)
@mikesperber mikesperber Synch German string constants with latest.
(cherry picked from commit f332092)
@rfindler rfindler clarify when drracket creates executables
(cherry picked from commit 708395d)
@mflatt mflatt raco pkg: allow read operations on read-only package data
In particular, `raco pkg show' should work when the user does not
have write access to the installation directory or installation-wide
package database.

Merge to v5.3.2
(cherry picked from commit b5d874e)
@mflatt mflatt bug report GUI: guard against `raco pkg show' errors
Various things can go wrong with `raco pkg show', including
permission errors or lock conflicts.

Merge to v5.3.2
(cherry picked from commit d2ce3f7)
@rfindler rfindler make the planet2 info in the bug report form have multiple lines
in the GUI
(cherry picked from commit f315f08)
@elibarzilay elibarzilay Saner dmg code organization.
"dmg" is now the layout-enabled usual DMGs, since they will soon have
more functionality around them (signed applications).  "sdmg" is for the
simple (or "source") DMGs, which are just plain containers for a
directory.  Also use a flag to avoid the stupid dynamic scope hack.
(cherry picked from commit c8615a3)
@elibarzilay elibarzilay Added an optional hook script to run on the to-be-distributed directory.
(cherry picked from commit ffbdaf0)
@rmculpepper rmculpepper fix rounding in ~r, docs
Merge to 5.3.2.
(cherry picked from commit 1109e0f)
@elibarzilay elibarzilay Lots of improvements to DMG creation.
* Remove lots of sudoing, and instead use one to change the contents (of
  non-simple DMGs).  Perhaps that's not needed too.  (I think that there
  used to be some problem when the owner was a specific user in the
  installer script days, perhaps it caused some mess in the pre/post
  flight scripts.  Maybe it's safe to not do this anymore.)

* There was a fundamental weakness in the Finder script -- it tweaks the
  DMG by openning its mount, but the way to specify a disk is via its
  displayed name which is not unique.  This can be problematic if there
  is already a mount that has the same name, and given that the DMG
  machine can be used by PLT people, it's even likely to happen.  It is
  tricky to solve this, since there is no way that I see to refer to the
  disk by its mount point or device in the Finder, and no way to find
  out the name in the shell.

  I spent a ton of time searching the webs for a solution, but it seems
  that practically nobody is concerned (or even aware of this problem).
  Eventually, the hack I did is to mount the image onto a randomly named
  directory, then iterate over all disks and look for one whose `name'
  property is that directory name (apparently the `name' property is the
  name of the last component of the mount point).  For safety, throw an
  error if no such disk is found, or if more than one is found.

  Incidentally, using a known mount point also simplifies things since
  there is no need to know the device name of the mount.

* Use UDBZ instead of UDZO for the compressed image.  The savings are
  not as big as I expected them to be for some reason, but the
  compatibility issues should be all gone now (UDBZ works only from 10.4
  and up).

* Unset $LD_LIBRARY_PATH to avoid some 10.8 bug.

* Switch the build to happen on dublin, running 10.8.  At least
  code-signing is broken on the 10.5.8 machine, and possibly also the
  osascript to identify the desired image disk.
(cherry picked from commit 368ee6d)
@mflatt mflatt ffi/unsafe/objc docs: clarification on `import-class'
Merge to v5.3.2
(cherry picked from commit 2adf0bd)
@elibarzilay elibarzilay Very simple job server.
Kept here in case it's useful for other things.
(cherry picked from commit df85072)
@endobson endobson Fix register-struct-bindings! to meet correct contract.
Please merge to 5.3.2.
(cherry picked from commit a5daacd)
@mfelleisen mfelleisen universe restart test, bug from Marco
(cherry picked from commit 7df831f)
@mfelleisen mfelleisen fixed a bug that prevented universe from restarting on some occasions
(cherry picked from commit fbb3145)
@rfindler rfindler fix bug introduced in f315f08
closes PR 13435

Also cleaned up one more threading problem (this one was
probably innocuous, but it is hard to be sure and the
rewrite is easier to see that it isn't problematic)
(cherry picked from commit 131af99)
Neil Toronto Made arrays strict by default; please merge to release
* Added parameter `array-strictness', default #t

* Added `array-default-strict!' and `array-default-strict', which act
  like the functions without "default" in the name when
  `array-strictness' is #t; otherwise they do nothing

* Lots of small changes to existing array functions, mostly to ensure
  computations are done using nonstrict arrays, but return values are
  strict when `array-strictness' is #t

* Added strictness tests

* Added tests to ensure untyped code can use `math/array'

* Rewrote `array-map' exported to untyped code using untyped Racket

* Rearranged a lot of `math/array' documentation
(cherry picked from commit 986e695)
@mfelleisen mfelleisen doctored the description of event handler results; MERGE
(cherry picked from commit 7afcda8)
Commits on Jan 18, 2013
Neil Toronto `math/matrix' fixes; please merge to 5.3.2.
* Fixed type of `matrix-expt'

* Made matrix functions respect `array-strictness' parameter (mostly
  wrapping functions with `parameterize' and return values with
  `array-default-strictness'; reindentation makes changes look larger)

* Added strictness tests
(cherry picked from commit f40ad2c)
@rfindler rfindler updated HISTORY
please merge to 5.3.2
(cherry picked from commit 8f756d1)
Neil Toronto Finished matrix documentation, attendant fixes; please merge to 5.3.2
* Narrowed type of `submatrix' to only sensible argument types

* `matrix-invertible?' now returns #f when given a non-square matrix
  instead of raising an error

* Allowed `matrix-diagonal' to operate on non-square matrices
(cherry picked from commit 24561e2)
Neil Toronto Fixed erroneous raised exception when plotting outside the bounds of
a 2D contour plot

Please merge to 5.3.2
(cherry picked from commit ecd43f7)
@takikawa takikawa Update srfi/19 for latest leap seconds
Closes PR 13390
(cherry picked from commit 7e67959)

@mflatt mflatt Summarize Racket history for v5.3.2
Merge to v5.3.2
(cherry picked from commit 769aee0)

@stamourv stamourv Updated TR history.
Please merge to 5.3.2.
(cherry picked from commit e763d1e)
Commits on Jan 20, 2013
@mikesperber mikesperber Synch German string constants with latest.
(cherry picked from commit 57f233c)
Commits on Jan 22, 2013
@jbclements jbclements updated release notes for 5.3.2.
Merge to release.
(cherry picked from commit e7528f2)
@rfindler rfindler fix a bug in recently added display-changed method
(cherry picked from commit 5301646)
Neil Toronto Fixed major performance issue with matrix arithmetic; please merge to…
… 5.3.2

The fix consists of three parts:

1. Rewriting `inline-matrix*'. The material change here is that the
   expansion now contains only direct applications of `+' and `*'.
   TR's optimizer replaces them with `unsafe-fx+' and `unsafe-fx*',
   which keeps intermediate flonum values from being boxed.

2. Making the types of all functions that operate on (Matrix Number)
   values more precise. Now TR can prove that matrix operations preserve
   inexactness. For example, matrix-conjugate : (Matrix Flonum) ->
   (Matrix Flonum) and three other cases for Real, Float-Complex, and

3. Changing the return types of some functions that used to return
   things like (Matrix (U A 0)). Now that we worry about preserving
   inexactness, we can't have `matrix-upper-triangle' always return a
   matrix that contains exact zeros. It now accepts an optional `zero'
   argument of type A.
(cherry picked from commit f42cc6f)
@mfelleisen mfelleisen history updated for 5.3.2; PLEASE MERGE
(cherry picked from commit bcec8bc)
Commits on Jan 28, 2013
Philippe Meunier update, plus some typos and punctuation fixed
(cherry picked from commit 6927923)
@rfindler rfindler only when when there is something to undo
They hypothesis behind this change is that the undo is
undoing an edit that came before, not the temporary edit
that appears in insert-close-paren. So, when there are
no edits happening (ie when fixup? is #f) then don't
undo. This is only a hypothesis because we were not able
to find a small code sequence, outside of DrRacket to
cause the bad behavior, so possibly there is really more
going on here.

Thanks to Nadeem Abdul Hamid for finding this fix.

Closes PR 13454
(cherry picked from commit f90eb33)
@rfindler rfindler fix a bug in executable creation
The code used eq? to check to see if a given language was in
an list of allowed-to-create-executables languages. But the
language object was passing thru TR and so eq? didn't hold and
thus the check was buggy.
(cherry picked from commit 2d2b3be)
@rfindler rfindler unbreak check syntax
get-current-tab may not be the right tab to replay the trace,
now that online expansion runs other tabs when the current tab
is up to date.
(cherry picked from commit 3e5a9ca)
@rfindler rfindler disable a broken responsiveness optimization
(cherry picked from commit c8bee5a)
Commits on Jan 31, 2013
@samth samth Switch to ``.
(cherry picked from commit 295bb1e)
@elibarzilay elibarzilay Update version number for the v5.3.2 release bd6bb38
@elibarzilay elibarzilay New Racket version 5.3.2. c993255
Commits on Feb 01, 2013
@elibarzilay elibarzilay v5.3.2 installers info
(cherry picked from commit 86bff2f)
@elibarzilay elibarzilay Merge branch 'stable' into release e12d18d
Commits on Feb 07, 2013
@elibarzilay elibarzilay Version number for the v5.3.3 bugfix release 130c3f1
@rfindler rfindler fix a bug in highlight-range exposed by the contour window
closes PR 13488
related to PR 13491
(cherry picked from commit deac3fa)
@rfindler rfindler a better version of deac3fa
This time with test cases, and also without changing the
semantics of unhighlight-range

related to PR 13488
(cherry picked from commit e7e64f4)
@rfindler rfindler add v5.3.3 notes
(cherry picked from commit dfed25c)

@elibarzilay elibarzilay New Racket version 5.3.3. 488ee01
Commits on Feb 13, 2013
@rfindler rfindler adjust contour to track edit sequences better
Specifically when there is no delegate and an edit
sequence is started, track that differently in case
a delegate is set before the edit sequence ends
(in which case we don't want to end the edit
sequence in the delegate since we didn't start it

related to PR 13491
(cherry picked from commit 405e51b)
Commits on Feb 15, 2013
@elibarzilay elibarzilay v5.3.3 installers info
(cherry picked from commit 173f289)
Commits on Apr 08, 2013
@rmculpepper rmculpepper Alpha version number for the v5.3.4 release a23548d
Commits on Apr 12, 2013
@takikawa takikawa Use `any/c` for the `ip-address-string?` domain
Previously, it was `string?` which is needlessly
restrictive and caused premature contract failures.

Please merge into 5.3.4
(cherry picked from commit 5735d37)
@rfindler rfindler fix improper fraction display
closes PR 13558

please include in the release
(cherry picked from commit d9adb4e)
@rfindler rfindler fix test suite to match earlier fix to obligation info
merge to release branch, please
(cherry picked from commit 1ebf662)
@stamourv stamourv Better error message for non-existent generics groups.
Closes PR13671.
(cherry picked from commit aac22e1)
@bfetscher bfetscher redex: bug fix for gerating terms including #f
please include in the release
(cherry picked from commit 495e5c9)
@mflatt mflatt fix a non-deterministic test
(cherry picked from commit bc5c89c)
@rfindler rfindler adjust pick-a-maze based on Neil's comments
please include in the release
(cherry picked from commit f093131)
@tonyg tonyg Tests for UDP multicast primitives
(cherry picked from commit 94e36c8)
@mflatt mflatt fix `for/flvector', etc. unsafety
Closes PR 13675

Merge to v5.3.4
(cherry picked from commit 8b5523b)
@elibarzilay elibarzilay Change doc/.gitignore to make git aware of files with non-generated c…

(cherry picked from commit 1bf9e12)
@mflatt mflatt doc clarification
(cherry picked from commit 8d7c231)
@mflatt mflatt fix `raco setup -j' for a non-places build
When places are not enabled, then `raco setup' uses multiple
Racket processes that commuincate via pipes. Don't try to send
a place channel over a pipe.

Merge to v5.3.4
(cherry picked from commit 2295d16)
@dyoo dyoo Correct typo.
(cherry picked from commit 075212d)
@mflatt mflatt plai/{gc2/}mutator: doc fixes
A symptom of mismatched `for-label' imports was that searching for "<="
would show red-underlined links to the `plai/{gc2/}mutator' documentation.

Merge to v5.3.4
(cherry picked from commit de9b77a)
@mflatt mflatt reference: simplify some contractcs
(cherry picked from commit 7c0f35e)
@mflatt mflatt racket/udp: fixed for `udp-bind!' and `udp-connect!'
Fix ephemeral-port support in `udp-bind!', and
change `udp-bind!' and `udp-connect!' to try address
resolutions in order to find one that works (which is
typically needed to auto-select an IPv4 or IPv6 variant
of an address).
(cherry picked from commit 842da32)
@mflatt mflatt fix a UDP multicast test to make it work on Windows XP
(cherry picked from commit 6e0492d)
@bfetscher bfetscher redex: elminate another #f/failure confusion
(cherry picked from commit 468d2b1)
@mflatt mflatt fix hole in validator
The validator was not as smart as the compiler in determining
that a `let' expression could be relied on to produce a
constant-shaped function (without side effect or error) in the case
that a right-hand side expression is a call to a known structure
constructor or predicate.

Closes PR 13679

Merge to v5.3.4
(cherry picked from commit e49956e)
@elibarzilay elibarzilay Make configure install the docs in the standard place.
Closes #315 (on github)
(cherry picked from commit 91aa7f3)
@mflatt mflatt pkg docs: add a tag for the "how to develop" section
Merge to v5.3.4
(cherry picked from commit ef6639f)
@mflatt mflatt raco setup: remove any extra documentation dirs in installation
After uninstalling a package in installation scope, its documentation
should be removed. A new `raco setup' step takes care of that.

Merge to v5.3.4
(cherry picked from commit ff324f9)
@mflatt mflatt raco pkg: fix `raco setup' sensitivity to package scope
Merge to v5.3.4
(cherry picked from commit d195e38)
@mflatt mflatt ffi/unsafe: fix doc typo
From Tobias

Closes PR 13684

Merge to v5.3.4
(cherry picked from commit 98c5209)
@mflatt mflatt equality for `define-cstruct'-generated wrappers
Closes PR 13650

Merge to v5.3.4
(cherry picked from commit 06c42f0)
@mflatt mflatt dist-spec fix for `raco setup' extra file
(cherry picked from commit c1d9b07)
@rfindler rfindler add Burke to acks
please merge to release branch
(cherry picked from commit 6cc0581)
@rfindler rfindler fix listof error reporting
closes PR 13685

please merge to the release branch
(cherry picked from commit e6122d5)
@bfetscher bfetscher redex: syntax error fix for define-relation
please merge to the release branch
(cherry picked from commit 41d90c6)
@elibarzilay elibarzilay Avoid loading modules in `module->path' and `known-module'.
This is particularly problematic for `require-reloadable'.

Closes PR 13688.
(cherry picked from commit b5771e6)
@mflatt mflatt racket/gui: make list-box% columns more consistent across platforms
Cocoa: use ellipses instead of line wrapping
Gtk: allow column sizing below title width

Merge to v5.3.4
(cherry picked from commit 3370042)
Commits on Apr 16, 2013
@mfelleisen mfelleisen die to dice
(cherry picked from commit 2d934e6)
@calvis calvis Fixes strange error messages for invalid generic method definitions
Closes PR 13681

Please merge to v5.3.4
(cherry picked from commit d84494d)
@takikawa takikawa Fix #:methods regression at top-level
Please merge to v5.3.4
(cherry picked from commit fa80c53)
@mfelleisen mfelleisen reformat error message for implode, Closes PR 13690
(cherry picked from commit 6642c11)
@mflatt mflatt ffi/unsafe/obj: fix use of ivar in rator position
Merge to v5.3.4
(cherry picked from commit fff88ee)
@mflatt mflatt racket/enter: fix exception handling & propagation for `enter!'
Merge to v5.3.4
(cherry picked from commit 9a52894)
@stchang stchang fix typed racket named let: error when there are no binding types
closes PR 13691

include in release
(cherry picked from commit b3ba324)
@mikesperber mikesperber Synch German string constants with latest.
(cherry picked from commit 3cb555a)
@rfindler rfindler move the call that sets the focus later so it actually happens
merge to the release branch, please
(cherry picked from commit c188be0)
@rfindler rfindler track dependencies from files with errors separately
from when the file doesn't have an error

More precisely, keep two sets of depndencies for a given
open tab. If the file expanded without error then we consider
that authoratative and keep that set of dependencies around
even if a later expansion fails. So there are two sets of
dependencies for each tab. When expansion succeeds, we reset
both of them, but if expansion fails then we reset only one,
preserving the set we got from the last successful expansion

please include in the release
(cherry picked from commit 11f74fc)
@mflatt mflatt racket/gui cocoa: fix `list-box%' visble-cell calculations
There were especially problems with header columns, but
also intercell spacing was not taken into account.

Merge to v5.3.4
(cherry picked from commit 44d5970)
@mflatt mflatt ffi/com: repairs for parameterized-property setting and for date values
Merge to v5.3.4
(cherry picked from commit 25ddfcb)
Commits on Apr 17, 2013
@elibarzilay elibarzilay Sync sanity path checks to the modified configure paths.
(cherry picked from commit ff461c0)
@elibarzilay elibarzilay Improve some printouts.
Specifically the one from ,rr.  Also make ,switch syntax error more
friendly.  Also, test for the recent xrepl fix, including its printout.
(cherry picked from commit e311de0)
@elibarzilay elibarzilay New Racket version 167a50a
Commits on Apr 18, 2013
@juanfra684 juanfra684 Change the default stack size to safe values on OpenBSD.
With this patch racket will never grow beyond of the defaults limits of
the OS and also it doesn't limit the stack size to a fixed value.

Merge to v5.3.4
(cherry picked from commit 5a56677)
@mflatt mflatt JIT: fix inlined `char->integer' and `integer->char'
Put the result in the destination register, instead of always R0.

Merge to v5.3.4
(cherry picked from commit 0c4e155)
@mflatt mflatt merge history for v5.3.4
Merge to v5.3.4
(based on 9b7e3be)
@stamourv stamourv Update TR history for 5.3.4.
(cherry picked from commit 85eab56)
@sbloch sbloch Corrected a variety of wrong-arg-type error messages for map-image,
build-image, et al.

Please merge to release branch.
(cherry picked from commit 6740ab5)
Commits on Apr 19, 2013
@juanfra684 juanfra684 Add MZ_TRY_EXTFLONUMS to OpenBSD.
Also add an error to unsupported platforms (copied from FreeBSD).

Merge to 5.3.4
(cherry picked from commit ac42864)
@mflatt mflatt fix problem with switchable-button tool tip
Closes PR 12562

Merge to v5.3.4
(cherry picked from commit ff580c2)
@mflatt mflatt win64: JIT stack-trace repair
Relevant to PR 13702

Merge to 5.3.4
(cherry picked from commit 5887d78)
Commits on Apr 23, 2013
@elibarzilay elibarzilay Change checksums for -h changes.
Also add completions for some new flags.
(cherry picked from commit 4dfe89a)
@rfindler rfindler add v.5.3.4 notes to DrRacket's HISTORY.txt
(cherry picked from commit 5a3a5ed)
@mflatt mflatt fix iteration on large hash trees
Bug introduced by 7a8c2ff: a tree can be deep enough that the
representation of the path to the current item can be too big to
fit into 32 bits. It will always fit in 64 bits, though.

Merge to 5.3.4
(cherry picked from commit f09d1d1)

@jbclements jbclements updated HISTORY
Merge to 5.3.4 release
(cherry picked from commit 71bc329)
Commits on Apr 28, 2013
@mflatt mflatt fix a JIT bug related to inlined structure constructors
Merge to v5.3.4
(cherry picked from commit fd883db)
@mfelleisen mfelleisen update for 5.3.4
(cherry picked from commit 0d3ae8b)
@rfindler rfindler fix jump-to-defining-file when a stacktrace window is open
(cherry picked from commit 951538a)
@mflatt mflatt raco dist: update ELF section when adjusting data size
Merge to v5.3.4
(cherry picked from commit f450e50)
@mflatt mflatt raco pkg: GitHub API now requires a User-Agent
Merge to v5.3.4
(cherry picked from commit 9d43fca)
@mflatt mflatt racket/draw: fix `in-region?' method of `region%'
Merge to v5.3.4
(cherry picked from commit 917ec51)
@mflatt mflatt fix bytecode compiler safefor-space, tigher bytecode validation
The safe-for-space pass could add clearing operations on "typed"
stack positions, which are known to contain a fixnum, flonum, or
extflonum. Non-clearing references, however, were not annotated to
indicate that clearing references were present, since clearing is
not expected on typed positions.

Along the lines of not expecting clearing, the bytecode validator's
encoding of the stack doesn't accomodate both "has a type" and "claims
never to be cleared", so it couldn't detect the bytecode compiler
bug. (Also, this problem didn't show up in the HOSC paper's model of
the validator, because the model pre-dates type tracking.)

Fix the bytecode compiler's space-safety pass so that it never inserts
clearing operations for typed stack positions. Then, the validator can
simply reject any attempt to clear a typed position.

Also, annotate applications generated by lifting as safe-for-space
tail calls.

Merge to v5.3.4
(cherry picked from commit 7ad1dda)

@rmculpepper rmculpepper fix version number and for compiler change in prev commit 2b9c7c5
Commits on Apr 30, 2013
@elibarzilay elibarzilay New Racket version 4c8a6ac
Commits on May 07, 2013
@rmculpepper rmculpepper Update version number for the v5.3.4 release d047c01
@elibarzilay elibarzilay New Racket version 5.3.4. cb3fe56
Commits on May 08, 2013
@elibarzilay elibarzilay v5.3.4 installers info
(cherry picked from commit e85b9d5)
@elibarzilay elibarzilay Merge branch 'stable' into release 351267c
Commits on Jun 15, 2013
@elibarzilay elibarzilay Version number for the v5.3.5 release 46ae2ad
@elibarzilay elibarzilay Switch build to the new machine.
(cherry picked from commit ed1ebce)
@elibarzilay elibarzilay Distribute realm.
(cherry picked from commit 0b50080)
@elibarzilay elibarzilay Ubuntu machines got upgraded.
(cherry picked from commit ff70e03)
@elibarzilay elibarzilay New Racket version 5.3.5. 0c354d1
Commits on Jun 16, 2013
@elibarzilay elibarzilay Updated sizes of repackaged source distributions.
(cherry picked from commit 1085045)
@elibarzilay elibarzilay Fix inclusion of "keep-dirs.rktd".
The file should be considered as source even though it's in the "doc"

(cherry picked from commit 0397518)
Commits on Jun 17, 2013
@elibarzilay elibarzilay Drop todo file.
(cherry picked from commit c37ce33)
@mfelleisen mfelleisen typos in source documentation; thanks Laurent, OEV
(cherry picked from commit 2de0c72)
Commits on Jun 18, 2013
@elibarzilay elibarzilay v5.3.5 installers info
(cherry picked from commit 61b509d)
Commits on Jul 08, 2013
@rmculpepper rmculpepper Alpha version number for the v5.3.6 release 760affd
@rfindler rfindler redo square-bracket related bug fixes from master 8b32934
@rfindler rfindler release notes a98a3ab
@rmculpepper rmculpepper fix unstable/socket loading in windows
  closes PR 13743
(cherry picked from commit 26545f2)
@mflatt mflatt fix GC bug
GC during allocation of a pair, weak box, ephemeron, or
weak array went wrong if the GC-notification callback
allocated any of those kinds of things.

(Bug found by running tests in GC-stress mode.)
(cherry picked from commit 49fbca5)
@endobson endobson Terminate typechecking on cyclic lists.
Closes PR 13687.
(cherry picked from commit b8ab133)
@samth samth Add `#:omit-define-syntaxes` to `define-type`.
(cherry picked from commit ecf02a3)
@endobson endobson Correctly protect Procedures in TR.
Closes PR 13664.
(cherry picked from commit fc36c12)
@endobson endobson Add polydots to all things that support it.
Closes PR 13612.
Closes PR 13584.
(cherry picked from commit 2e2ef0b)
@endobson endobson Small TR fixes.
(cherry picked from commit a94c449)
@endobson endobson Use information of application site, to reduce possible arities.
Closes PR12905.
(cherry picked from commit 55aba08)
@endobson endobson Don't let map introduce type variables.
Closes PR 13581.
(cherry picked from commit 67dd956)
@endobson endobson Fix expected type when typechecking map
(cherry picked from commit 863ac05)
@endobson endobson Fix subtyping of (ListDots t 'a) <: (Listof t).
Closes PR 13636.
(cherry picked from commit 6898a7c)
@endobson endobson Switch out? to from-typed? as it has the same meaning.
(cherry picked from commit 03e1ffd)
@endobson endobson Allow requiring functions with filters in contravariant positions.
(cherry picked from commit dbcb141)
@endobson endobson Make type->contract correctly respect variance.
Track whether we are protecting values from the typed side and/or the
untyped side.

Closes PR 13662.
Closes PR 13663.
Closes PR 13665.
(cherry picked from commit b5b1322)
@stamourv stamourv Allow read-only hash operations to accept HashTop.
Closes PR13710.
(cherry picked from commit e6ff57f)
@stamourv stamourv Document VectorTop and HashTableTop.
(cherry picked from commit 457ca09)
@endobson endobson Cleanup names-of-struct
(cherry picked from commit 154ab04)
@endobson endobson Make structs initialize to constant instead of covariant.
(cherry picked from commit 7735aa5)
@endobson endobson Fix contract generation for mutable structures.
(cherry picked from commit de96643)
@endobson endobson Fix require/untyped-contract to generate better names in contracts.
Related to PR 13716.
(cherry picked from commit 9c71daf)
@takikawa takikawa Clean up struct: and disallow unsupported options
Related to PR 13562
(cherry picked from commit c3b80be)
@takikawa takikawa Fix docs for Opaque
Closes PR 13531
(cherry picked from commit 7c96321)
@takikawa takikawa Fix printing of tc-any-results in type errors.
In the long run, these error messages should get
simplified so that this printing is not necessary.

Closes PR 13577 and PR 13526
(cherry picked from commit e53b085)
@stamourv stamourv Fix type of tanh.
Found using random testing.
(cherry picked from commit 89f9b86)
@endobson endobson Minor cleanup in subtype.rkt
(cherry picked from commit b9c4582)
@samth samth Refactor subtype.rkt not to use exceptions.
Matthew suggests that using exceptions for failure
in the implementation of `subtype` is a performance
problem.  This commit removes all use of exceptions
for failure in subtype.rkt, replacing it with the
standard Racket #f/value option.

Extensive use is made of the `subtype-seq` form,
which is basically do-notation for the subtyping
(cherry picked from commit a6f1108)
@stamourv stamourv Fix type of sinh.
Found using random testing.
(cherry picked from commit 5de08f0)
@takikawa takikawa Make `define-type` work at top-level
Closes PR 12913
(cherry picked from commit f3e6276)
@stamourv stamourv Fix source locations for TR for.
(cherry picked from commit 8638a66)
@takikawa takikawa Make `require/typed` work at top-level
Closes PR 13747
(cherry picked from commit 67beb11)
@takikawa takikawa Fix tc-toplevel-form for ignored syntax
(cherry picked from commit 2c04299)
@takikawa takikawa Avoid doing the 2nd pass twice at the top-level
Thanks to Eric for pointing this out.
(cherry picked from commit d7f29d3)
@takikawa takikawa Fix regression for (begin) and simplify
(cherry picked from commit 23d39a9)
@takikawa takikawa Fix parsing of (Struct ...) types.
This was a regression that appeared in 5.3.1
(cherry picked from commit 3eb4a75)
@takikawa takikawa Refactor and add purpose statements/contracts
(cherry picked from commit 64e1b68)
@takikawa takikawa Cut off type printing with :type at one level
Makes types print nicer with :type in most cases.
Previously, the printer expanded type aliases as much
as possible. Now, it defaults to a single level of expansion.
A later commit adds a #:verbose option to show the entire
(cherry picked from commit fd33584)
@takikawa takikawa Add a #:verbose option to :type.
This prints the old way, expanding all aliases inside the type.
(cherry picked from commit 1f5b262)
@takikawa takikawa Cue user about unexpanded type aliases
This tells the user that more type aliases are
available for expansion. For example, (Listof Number)
has the alias Number still unexpanded into the union
that it represents.
(cherry picked from commit 19c5d3e)
@takikawa takikawa Expend printing fuel in all branches
This makes (:type (Number -> Integer)) produce
(Number -> Integer) instead of expanding at the first name.
Combined with expansion cues, this makes it easier for users
to expand the relevant parts of types.
(cherry picked from commit 34aeaee)
@takikawa takikawa Document :type better
(cherry picked from commit a40a134)
@takikawa takikawa Add comments, purpose statements, and contracts
(cherry picked from commit bb2ecbf)
@endobson endobson Cleanup tc-lambda-unit.
(cherry picked from commit 2a94ca9)
@endobson endobson Clean up lam-result.
Make drest a list instead of a pair, replace an int-err with a match error
which has source location, and remove static name for rest argument in error
(cherry picked from commit 4fcda73)
@endobson endobson Massive cleanup of requriements in TR.
(cherry picked from commit f332aff)
@endobson endobson Make scoped type vars work only for explict Alls and annotations.
Solves major issue disscussed on PR 13586.
Closes PR 13622.
Solves issue when typechecking lambdas with types like (All (a) Any).
Closes PR 13596.
Closes PR 13539.
Closes PR 13703.
(cherry picked from commit 01a88f8)
@takikawa takikawa Fix broken internal error
(cherry picked from commit e6503c5)
@stamourv stamourv Don't splice in vector creation when optimizing vector-length.
Closes PR13788.
(cherry picked from commit d926452)
@samth samth Register scoped type variables for internal def. annotations.
Closes PR 13793.
(cherry picked from commit 499bcef)
@endobson endobson Move tc-literal to seperate file, as it doesn't belong in tc-expr.
(cherry picked from commit adbc516)
@samth samth Fix types of `system` etc for new keyword arguments.
This requires extending the ->optkey type constructor to support rest
arguments, and fixing the keyword function type generation code.

Testing is still limited because there's no parsing for such types.
That will be handled in a later commit.
(cherry picked from commit 3fd9df0)
@endobson endobson Make for loops in TR use an annotation when applicable.
(cherry picked from commit f6050d5)
@stamourv stamourv Fix unsound fxquotient optimization.
Closes PR13827.
(cherry picked from commit 5e30416)
@stamourv stamourv Fix unsound unary fixnum subtraction optimization.
Closes PR13826.
(cherry picked from commit 93d4a5d)
@stamourv stamourv Fix type of gensym.
(cherry picked from commit c070aae)
@takikawa takikawa Add match*? to unstable/match
(cherry picked from commit 12e5bc6)
@takikawa takikawa Fix union merging
Trying to merge (and thus resolve) applications of struct
types would cause infinite looping on type instantiation
if the struct type used both a union and recursion.

Closes PR 13821
(cherry picked from commit c8e281a)
@takikawa takikawa Only generate poly contracts for functions
Closes PR 13815
(cherry picked from commit bafaf52)
@takikawa takikawa Fix types for some plot parameters
Thanks to Neil for providing test cases
(cherry picked from commit 2f59f10)
@takikawa takikawa Refactor to reduce right-ward drift
(cherry picked from commit e0cff03)
@endobson endobson Centralize the definition of the plambda syntax property.
(cherry picked from commit df07151)
@endobson endobson Centralized typechecker:ignore properties.
(cherry picked from commit a325e38)
@endobson endobson Consolidate the rest of the syntax properties in TR.
(cherry picked from commit 4310f04)
@takikawa takikawa Remove debugging instrumentation
(cherry picked from commit ec8e126)
@endobson endobson Minor whitespace fix.
(cherry picked from commit b9b1eb1)
@endobson endobson Use in-syntax instead of in-list/syntax->list.
(cherry picked from commit 83f38f4)
@takikawa takikawa Fix internal error for vector type-checking
If multiple values were expected and not provided
when type-checking a vector expression, TR would throw
an internal error.

Thanks to Pierpaolo for the report!

(cherry picked from commit 29bce22)
@takikawa takikawa Fix test for 29bce22
Oddly, this test succeeded locally even with the
wrong exception expression. DrDr caught it though.
(cherry picked from commit ec80b7d)
@takikawa takikawa Make struct: work at the REPL
Closes PR 11669

(cherry picked from commit ebc6a66)
@samth samth Fix function names in JSON error messages.
(cherry picked from commit f25971a)
@samth samth Unbreak json tests.
(cherry picked from commit 9b29dcb)
@stamourv stamourv Fix race condition in `delay/thread'.
There's mutual dependence between promises and their threads. This may
cause a thread to start running before its promise is fully initialized,
in which case it will be `#<undefined>', which causes errors down the road.

This was the cause of an intermittent failure in the TR test harness.
(cherry picked from commit 0690ccd)
Commits on Jul 14, 2013
@elibarzilay elibarzilay New Racket version 0ef2c64
Commits on Jul 17, 2013
@mflatt mflatt GC bug fix
Replicate 4266e60 for the v5.3.6 release.

This repair omits one part of the original commit,
which is the `gc->dumping_avoid_collection' test
in check_used_against_max(). It's unlikely to matter,
and I'm not sure that check is correct without some
additional changes that seem too complex to try to
include the release.
@mflatt mflatt fix GC bug in FFI
Replicate e3eed89 for v5.3.6.
Commits on Jul 22, 2013
@mflatt mflatt racket/draw: support libjpeg v9
Closes PR 13721
(cherry picked from commit 158997c)
@mflatt mflatt support libpng16
(cherry picked from commit 5629a61)
@mflatt mflatt libpng adjustment
Keep error if no "libpng" is found.
(cherry picked from commit f97a7cf)
@elibarzilay elibarzilay Get rid of the `#:function' keyword.
These problems are always dealt with via an internal function instead of
making the name argument part of the visible API.
(cherry picked from commit f90fe4c)
@elibarzilay elibarzilay Misc improvements to `net/uri-codec'.
Fix a bug in encoding strings with characters between 128 and 256, avoid
extra bindings for conversion vectors; remove calling `noels-tests' from
`main' since it's already called from `tests', etc.
(cherry picked from commit c2280ed)

@samth samth Fix wide-character decoding in URLs.
(cherry picked from commit a4e529a)
@elibarzilay elibarzilay Simplify decoding code into one `cond'.
(It's likely to get written in some better way, for example, avoid the
extra work for simple strings.)
(cherry picked from commit 210c71d)
@elibarzilay elibarzilay Further explain silent acceptance of unencoded characters.
Also highlight the two tests that use that.
(cherry picked from commit 8d55b89)
Commits on Jul 24, 2013
@stamourv stamourv Fix broken test.
(cherry picked from commit 069ff59)
@stamourv stamourv Fix broken test, again.
(cherry picked from commit 0e7940a)
@stamourv stamourv Fix test for TR's for source locations.
(cherry picked from commit ab5075b)
Commits on Jul 25, 2013
@mflatt mflatt place: fix finalizaiton of place channels stuck in a GC'ed channel
Lack of ordering on finalization requires some care for explicit
clean-up actions in a finalizer.

Back-port of commit a5f2601.
@rmculpepper rmculpepper db: temporary workaround for SSL one-record-per-write issue
(cherry picked from commit ef3dff1)
@elibarzilay elibarzilay Fix the filename of the Ubuntu build.
The actual file *is* an x86_64 build.

(cherry picked from commit 3440e29)
@elibarzilay elibarzilay Improve some texts.
(cherry picked from commit 90b0f26)
@elibarzilay elibarzilay Allow multiple extra files.
(cherry picked from commit 8b7a9c6)
@elibarzilay elibarzilay Delay running git, to avoid a premature warning about $GIT_DIR.
(cherry picked from commit 41c0156)
@elibarzilay elibarzilay Explain how to build the pages.
(cherry picked from commit 46db1d2)
Commits on Jul 26, 2013
@jbclements jbclements updated HISTORY
Merge to 5.3.6 release.
(cherry picked from commit b23d8ed)
@jbclements jbclements Oops don't mention file reorg in stepper HISTORY.txt
Please merge to 5.3.6 release
(cherry picked from commit beae23f)
Commits on Jul 30, 2013
@rmculpepper rmculpepper Revert "Add contract for run-tests."
Related to PR 13936.

This reverts commit 032e1eb.
@rmculpepper rmculpepper added checks to run-tests
Related to PR 13936.
(cherry picked from commit a26101c)
Commits on Aug 09, 2013
@elibarzilay elibarzilay Update version number for the v5.3.6 release 1ca881e
@elibarzilay elibarzilay New Racket version 5.3.6. 686d861
Commits on Aug 10, 2013
@elibarzilay elibarzilay v5.3.6 installers info ded0c4a