Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

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.
base fork: bon/racket
base: 7b26260d99
head fork: bon/racket
compare: 1be503bdfb
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Apr 15, 2014
@mflatt mflatt racket/gui Cocoa: repairs for Cairo and Pango
 * Fix a clipped-rendering problem for text in Cairo.

 * Fix Pango's CoreText back-end to support non-BMP characters.

   Note that Emoji characters still do not render. Cairo uses
   CGContextShowGlyphsWithAdvances() to draw glyphs, but it
   would need to use CTFontDrawGlyphs() to make Emoji work.
   (Mozilla has a patch to do that for some older version
   of Cairo, so look there if it seems worth doing one day.)

 * Disable Pango's CoreText font fallbacks in favor of the
   Racket-implemented fallback.

   This is not obviously a good idea, but it restore the
   `racket/draw` hack of prefering "Arial Unicode MS". Otherwise,
   various symbol glyphs are chosen badly, such as #\u273A,
   at least on my machine.

 * Drop the clusters argument to `pango_cairo_show_glyph_string`,
   which turns out to be unnecessary.
@mflatt mflatt fix excessive correction of bounding
Commit 69984fb extended glyph bounding boxes in the wrong
(pre-scaled) coordinate system.
@mflatt mflatt racket/draw Cocoa: hack to make Courier New work in 10.{7,8}
The bounding box in the Courier New font is wrong in Mac OS X
10.7 and 10.8. Recognize that combination and make the bounding
box bigger as a workaround.
@calvis calvis all necessary changes to check references to uninitialized letrec var…

includes a new pass, letrec_check, two new primitives, and
changes to packages that grabbed the letrec undefined value
@calvis calvis updated tests for letrec 16869bb
@mflatt mflatt fix some uses of not-yet-defined fields 113a2ee
@mflatt mflatt JIT-inline `check-not-undefined` 714ac04
@mflatt mflatt install test suite 36cdfcb
@calvis calvis removing debugging code fbb419a
@mflatt mflatt doc tweaks 1f7f0af
@rfindler rfindler fix a bug in the handling/setup of definitions-canvas 7f7428b
@rfindler rfindler adjust drracket frame startup to conform to new checks
I don't think that there was a bug behind this change. There may
have been and it is probably now easier to reason about this code
than it was before, but I think that this code was probably using
object?, not checking directly with undefined) properly.
@mflatt mflatt move internal `undefined` to `unsafe-undefined` 574b8a5
@mflatt mflatt adjust some classes to avoid chaperones 60a1b78
@mflatt mflatt reduce `racket/undefined` to just `undefined` 4c947f1
@rfindler rfindler adjust DrRacket to work with the new undefined semantics
by completely cheating and initializing the troublesome fields
with a new variation on undefined and turning the definitions
into set!s.
@mflatt mflatt fix Windows projects for new file 0fcde57
@mflatt mflatt remove unnecessary "return;"s
Some compilers particularly dislike

 return function_that_returns_void();
@mflatt mflatt fix for Gtk back-end 1c0c24c
@calvis calvis removing dead code in fun.c a283f3d
@mflatt mflatt racket/class: add expression to optimizer log message df436b0
@mflatt mflatt redex: temporary fix for `undefined` change
Allows `redex` to start, but the check for an undefined value needs
to be removed or adjusted.
Commits on Apr 16, 2014
@takikawa takikawa Fix TR class support for new class expansion
Also add a type for `check-not-unsafe-undefined` which shows
up in the expanded code now.
@mflatt mflatt mzlib/unit200: fix for `undefined` b4c99eb
@mflatt mflatt avoid compiler warnings 2b63977
@mflatt mflatt fix test for `check-not-unsafe-undefined` 6452568
@mflatt mflatt racket/sandbox: fix use-before-definition bug bc47a58
@mflatt mflatt racket/shared: fix test 9fb6f19
@takikawa takikawa Remove the mzlib/class100 library.
Uses of mzlib/class100 have already been removed. The library's
removal was promised in the release notes for Racket v5.3.2.
@takikawa takikawa Update HISTORY file for mzlib/class100 removal 6c400ad
@bon Fix type in docs. 1be503b