remove spaces around em dashes

This commit is contained in:
Matthew Flatt 2016-08-19 07:05:32 -06:00
parent aef8f3e7bd
commit c3355f6df2
2 changed files with 7 additions and 7 deletions

View File

@ -303,12 +303,12 @@ it doesn't:
The @racket[see-button] inside macro @racket[m] comes from the The @racket[see-button] inside macro @racket[m] comes from the
@racket[(for-syntax 'a)] import. For macro @racket[m] to work, it needs to @racket[(for-syntax 'a)] import. For macro @racket[m] to work, it needs to
have @racket[button] bound at phase 0. That binding exists --- it's implied by have @racket[button] bound at phase 0. That binding exists---it's implied by
@racket[(require 'a)]. However, @racket[(require 'a)] and @racket[(require 'a)]. However, @racket[(require 'a)] and
@racket[(require (for-syntax 'a))] are @emph{different instantiations} @racket[(require (for-syntax 'a))] are @emph{different instantiations}
of the same module. The @racket[see-button] at phase 1 only refers to of the same module. The @racket[see-button] at phase 1 only refers to
the @racket[button] at phase 1, not the @racket[button] bound at the @racket[button] at phase 1, not the @racket[button] bound at
phase 0 from a different instantiation --- even from the same source phase 0 from a different instantiation---even from the same source
module. module.
This kind of phase-level mismatch between instantiations can be repaired This kind of phase-level mismatch between instantiations can be repaired
@ -329,8 +329,8 @@ Note that @racket[syntax-shift-phase-level] merely creates a reference
across phases. To make that reference work, we still need to instantiate our across phases. To make that reference work, we still need to instantiate our
module at both phases so the reference and its target have their bindings module at both phases so the reference and its target have their bindings
available. Thus, in module @racket['b], available. Thus, in module @racket['b],
we still import module @racket['a] at both phase 0 and phase 1 we still import module @racket['a] at both phase 0 and phase
--- using @racket[(require 'a (for-syntax 'a))] --- so we have a phase-1 1---using @racket[(require 'a (for-syntax 'a))]---so we have a phase-1
binding for @racket[see-button] and a phase-0 binding for @racket[button]. binding for @racket[see-button] and a phase-0 binding for @racket[button].
Now macro @racket[m] will work. Now macro @racket[m] will work.
@ -353,7 +353,7 @@ By the way, what happens to the @racket[see-button] that's bound at phase 0?
Its @racket[#'button] binding has likewise been shifted, but to phase -1. Since Its @racket[#'button] binding has likewise been shifted, but to phase -1. Since
@racket[button] itself isn't bound at phase -1, if we try to evaluate @racket[button] itself isn't bound at phase -1, if we try to evaluate
@racket[see-button] at phase 0, we get an error. In other words, we haven't permanently @racket[see-button] at phase 0, we get an error. In other words, we haven't permanently
cured our mismatch problem --- we've just shifted it to a less bothersome location. cured our mismatch problem---we've just shifted it to a less bothersome location.
@interaction[ @interaction[
(module a racket (module a racket

View File

@ -523,7 +523,7 @@ binding at the run-time phase level relative to the module that
defines the macro. defines the macro.
For instance, the @racket[swap-stx] helper function in the example below For instance, the @racket[swap-stx] helper function in the example below
is not a syntax transformer --- it's just an ordinary function --- but it is not a syntax transformer---it's just an ordinary function---but it
produces syntax objects that get spliced into the result of produces syntax objects that get spliced into the result of
@racket[shell-game]. Therefore, its containing @racket[helper] submodule @racket[shell-game]. Therefore, its containing @racket[helper] submodule
needs to be imported at @racket[shell-game]'s phase 1 with needs to be imported at @racket[shell-game]'s phase 1 with
@ -535,7 +535,7 @@ returned by @racket[shell-game] is evaluated. In other words, a negative phase
level is a positive phase level from the opposite direction: level is a positive phase level from the opposite direction:
@racket[shell-game]'s phase 1 is @racket[swap-stx]'s phase 0, so @racket[shell-game]'s phase 1 is @racket[swap-stx]'s phase 0, so
@racket[shell-game]'s phase 0 is @racket[swap-stx]'s phase -1. @racket[shell-game]'s phase 0 is @racket[swap-stx]'s phase -1.
And that's why this example won't work --- the @racket['helper] submodule And that's why this example won't work---the @racket['helper] submodule
has no bindings at phase -1. has no bindings at phase -1.
@codeblock|{ @codeblock|{