~ chicken-core (chicken-5) 863a28e3c26f2b665dcaf75d892fcb09f62c09a1
commit 863a28e3c26f2b665dcaf75d892fcb09f62c09a1
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Feb 12 22:38:45 2013 +0100
Commit: Peter Bex <peter.bex@xs4all.nl>
CommitDate: Thu Feb 14 21:15:37 2013 +0100
escape single backslash in symbols when printing
Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
diff --git a/library.scm b/library.scm
index c53c884b..31e1e0c3 100644
--- a/library.scm
+++ b/library.scm
@@ -3167,7 +3167,7 @@ EOF
(let ([csp (case-sensitive)]
[ksp (keyword-style)]
[length-limit (##sys#print-length-limit)]
- [special-characters '(#\( #\) #\, #\[ #\] #\{ #\} #\' #\" #\; #\ #\` #\|)] )
+ [special-characters '(#\( #\) #\, #\[ #\] #\{ #\} #\' #\" #\; #\ #\` #\| #\\)] )
(define (outstr port str)
(if length-limit
@@ -3224,8 +3224,7 @@ EOF
(cond ((eq? len 0) #f)
((eq? len 1)
(let ((c (##core#inline "C_subchar" str 0)))
- (cond ((or (eq? #\. c) (eq? #\# c) (eq? #\; c) (eq? #\, c) (eq? #\| c))
- #f)
+ (cond ((or (eq? #\# c) (eq? #\. c)) #f)
((specialchar? c) #f)
((char-numeric? c) #f)
(else #t))))
@@ -3235,8 +3234,8 @@ EOF
(let ((c (##core#inline "C_subchar" str 0)))
(cond ((or (char-numeric? c)
(eq? c #\+)
- (eq? c #\-)
- (eq? c #\.) )
+ (eq? c #\.)
+ (eq? c #\-) )
(not (##sys#string->number str)) )
((eq? c #\:) (not (eq? ksp #:prefix)))
((and (eq? c #\#)
Trap