~ chicken-core (chicken-5) d6fbe659999b1c1832b75727f8e1fc852d00f443


commit d6fbe659999b1c1832b75727f8e1fc852d00f443
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Sat May 6 14:49:42 2017 +0200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sun May 7 13:11:29 2017 +1200

    Fix "backslashify" (again) to correctly double any backslashes.
    
    This was fixed in master as part of 37f94e90aeb1f. When cherry-picking
    this to chicken-5, this apparently got lost because the procedure was
    moved from the file in which it originally appeared in commit
    50ee93d8db6586e2cda387ed9f86cf62ddb3f8fe, whereas the cherry-pick
    happened later.
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/c-backend.scm b/c-backend.scm
index 146086d8..1c0f8f2f 100644
--- a/c-backend.scm
+++ b/c-backend.scm
@@ -66,7 +66,7 @@
    (intersperse lst #\space) ) )
 
 ;; Hacky procedures to make certain names more suitable for use in C.
-(define (backslashify s) (string-translate (->string s) "\\" "\\\\"))
+(define (backslashify s) (string-translate* (->string s) '(("\\" . "\\\\"))))
 (define (uncommentify s) (string-translate* (->string s) '(("*/" . "*_/"))))
 (define (c-identifier s) (string->c-identifier (->string s)))
 
Trap