~ chicken-core (chicken-5) 2a685174ce60bccc529c2ca217ca1b24c53a0adc
commit 2a685174ce60bccc529c2ca217ca1b24c53a0adc Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Aug 23 12:10:07 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Tue Aug 23 12:10:07 2011 +0200 fixed bug in reading of octal escape in string literal diff --git a/library.scm b/library.scm index c7801b45..37ee3e2f 100644 --- a/library.scm +++ b/library.scm @@ -2435,8 +2435,12 @@ EOF ((#\\ #\' #\" #\|) (loop (##sys#read-char-0 port) (cons c lst))) (else - (cond ((char-numeric? c) - (let ((ch (integer->char (r-usequence "" 2 8)))) + (cond ((and (char-numeric? c) + (char>=? c #\0) + (char<=? c #\7)) + (let ((ch (integer->char + (fx+ (fx* (fx- (char->integer c) 48) 64) + (r-usequence "" 2 8))))) (loop (##sys#read-char-0 port) (cons ch lst)) )) (else (##sys#read-warningTrap