~ chicken-core (chicken-5) 7a872acdac1a5f5038c29065886a40ac5a5e0bdd
commit 7a872acdac1a5f5038c29065886a40ac5a5e0bdd
Author: felix <felix@y.(none)>
AuthorDate: Fri Mar 19 22:51:35 2010 +0100
Commit: felix <felix@y.(none)>
CommitDate: Fri Mar 19 22:51:35 2010 +0100
symbol beginning with #%... is readable
diff --git a/compiler-namespace.scm b/compiler-namespace.scm
index 109887c4..2ba2b752 100644
--- a/compiler-namespace.scm
+++ b/compiler-namespace.scm
@@ -132,7 +132,6 @@
external-protos-first
external-to-pointer
external-variables
- extract-mutable-constants
file-io-only
file-requirements
final-foreign-type
diff --git a/library.scm b/library.scm
index 382822bb..4ff37799 100644
--- a/library.scm
+++ b/library.scm
@@ -2951,27 +2951,30 @@ EOF
(loop (fx+ i 1)) ) ) ) ) )
(define (sym-is-readable? str)
- (let ([len (##sys#size str)])
- (and (fx> len 0)
- (if (eq? len 1)
- (case (##core#inline "C_subchar" str 0)
- ((#\. #\#) #f)
- (else #t) ) )
- (not (eq? (##core#inline "C_subchar" str 0) #\#))
- (let loop ((i (fx- len 1)))
- (if (eq? i 0)
- (let ((c (##core#inline "C_subchar" str 0)))
- (cond ((or (char-numeric? c)
- (eq? c #\+)
- (eq? c #\-)
- (eq? c #\.) )
- (not (##sys#string->number str)) )
- ((specialchar? c) #f)
- (else #t) ) )
- (let ([c (##core#inline "C_subchar" str i)])
- (and (or csp (not (char-upper-case? c)))
- (not (specialchar? c))
- (loop (fx- i 1)) ) ) ) ) ) ) )
+ (let ((len (##sys#size str)))
+ (cond ((eq? len 0) #f)
+ ((eq? len 1)
+ (case (##core#inline "C_subchar" str 0)
+ ((#\. #\#) #f)
+ (else #t) ) )
+ (else
+ (let loop ((i (fx- len 1)))
+ (if (eq? i 0)
+ (let ((c (##core#inline "C_subchar" str 0)))
+ (cond ((or (char-numeric? c)
+ (eq? c #\+)
+ (eq? c #\-)
+ (eq? c #\.) )
+ (not (##sys#string->number str)) )
+ ((and (eq? c #\#)
+ (not (eq? #\% (##core#inline "C_subchar" str 1))))
+ #f)
+ ((specialchar? c) #f)
+ (else #t) ) )
+ (let ((c (##core#inline "C_subchar" str i)))
+ (and (or csp (not (char-upper-case? c)))
+ (not (specialchar? c))
+ (loop (fx- i 1)) ) ) ) ) ) ) ) )
(let out ([x x])
(cond ((eq? x '()) (outstr port "()"))
Trap