[plt-scheme] 205.1
The exp-tagged code in CVS for MzScheme and MrEd is now version 205.1.
Changes:
* Fixed transitivity of numerical comparison for mixed inexact--exact
comparisons when the inexact versions of the numbers are = and the
exact versions are not.
> (= 1237940039285380274899124223 1.2379400392853803e+27
1237940039285380274899124225)
#f
;; used to be #t
* `generate-temporaries' produces identifiers that are suitable for
use as defined names in the module being expanded (if any).
For example, this `silly' macro will work as expected in any
definition context, including the top level of a module:
(define-syntax (silly stx)
(syntax-case stx ()
[(_ expr) (with-syntax ([(id) (generate-temporaries '(id))])
#'(begin
(define id exprs)
id))]))
Leaving out the `with-syntax' wouldn't work if `silly' is defined
in a module and used in a different module, because `id' would have
the defining module's context (making it unsuitable for a LHS
elsewhere). Also, the above didn't work in v205 because `id' would
have no context at all.
The `generate-temporaries' implementation uses a new
`syntax-local-module-introduce' procedure (see the docs).
* Non-constant syntax pairs generated from templates (in
`syntax-case', `with-syntax', `quasisyntax', etc.) now keep the
source-location and context information of the template-part source,
instead of acquiring the context and location of the overall
template expression.
* X, probably only Xsun, and probably only in the engineeering lab at
Utah: If the root window's depth is less than 24, but a 24-bit
TrueColor visual is available, MrEd uses the 24-bit visual for its
windows and bitmaps.
Matthew