From 29a80fd7e5d74cbebf3946fff91172ef988c1136 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 26 Oct 2018 14:19:54 -0600 Subject: [PATCH] io: repairs for Windows environment variables --- racket/src/io/envvar/main.rkt | 2 +- racket/src/io/envvar/string.rkt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/racket/src/io/envvar/main.rkt b/racket/src/io/envvar/main.rkt index 84416b2e9a..666f845fca 100644 --- a/racket/src/io/envvar/main.rkt +++ b/racket/src/io/envvar/main.rkt @@ -120,6 +120,6 @@ (define ht (environment-variables-ht e)) (cond [(not ht) - (environment-variables-names (environment-variables-copy e))] + (map normalize-key (environment-variables-names (environment-variables-copy e)))] [else (hash-keys ht)])) diff --git a/racket/src/io/envvar/string.rkt b/racket/src/io/envvar/string.rkt index 13a5737587..dc27431d0b 100644 --- a/racket/src/io/envvar/string.rkt +++ b/racket/src/io/envvar/string.rkt @@ -1,5 +1,6 @@ #lang racket/base (require "../common/bytes-no-nuls.rkt" + "../locale/string.rkt" "../host/rktio.rkt") (provide bytes-no-nuls? @@ -12,5 +13,6 @@ (define (normalize-key k) (if (rktio_are_envvar_names_case_insensitive rktio) - (string->immutable-string (string-foldcase k)) + (bytes->immutable-bytes + (string->bytes/locale (string-foldcase (bytes->string/locale k)))) k))