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 2d2b3bee2f)
This commit is contained in:
Robby Findler 2013-01-26 10:45:39 -06:00 committed by Ryan Culpepper
parent f640c2cea0
commit df6eb1bc39

View File

@ -85,9 +85,11 @@
(define languages null) (define languages null)
(define languages-allowing-executable-creation '()) (define languages-allowing-executable-creation '())
(define (language-allows-executable-creation? lang) (define (language-allows-executable-creation? candidate-lang)
(and (memq lang languages-allowing-executable-creation) (define candidates-positions (send candidate-lang get-language-position))
#t)) (for/or ([allowed-lang (in-list languages-allowing-executable-creation)])
(equal? (send allowed-lang get-language-position)
candidates-positions)))
;; add-language : (instanceof language%) -> void ;; add-language : (instanceof language%) -> void
;; only allows addition on phase2 ;; only allows addition on phase2