plt/racket — pull request #820 by gus-massa (2014-11-08 22:25:32+00:00)
Title: Fix prefix-out and redex for identifiers with spaces

Prefix-out fails when one of the "arguments" has a space or other strange character:

#lang racket/load
(module foo racket
(define | | 0)
(provide (prefix-out | | +))
(provide (prefix-out + | |))
)

(require 'foo)
(displayln | +|)
(displayln |+ |)

The first patch fixes this. The solution is to change a "~s~s" to "~a~a". (note: prefix-in already uses "~a~a") (I didn't know where I should put the test cases). This closes Bug #14761

I also looked for other similar patterns in the Racket repository:
http://git.racket-lang.org//plt?a=search&h=b7d2722d7da3db3a664857f7e0854a08abb2f45f&st=grep&s=%7Es%7Es

I think there are other 6 instances that should be fixed in the redex package. I put the changes in the second patch, but I don't know enough about redex to be sure that this is the correct fix. Please review this second patch carefully before merging.