~ chicken-core (chicken-5) 90c942adc338fa343df7a8d577b56105e0674f67


commit 90c942adc338fa343df7a8d577b56105e0674f67
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Fri Oct 22 23:44:22 2010 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Fri Oct 22 23:44:22 2010 +0200

    fix in ##sys#glob->regexp; fixed wrong entry in types.db

diff --git a/irregex.scm b/irregex.scm
index fb4cf21e..a14dd5d6 100644
--- a/irregex.scm
+++ b/irregex.scm
@@ -238,7 +238,10 @@
 				      (error 'glob->regexp
 					     "unexpected end of character class" s))
 				     ((char=? #\] (car rest))
-				      `((or ,@s) ,@(loop (cdr rest) #f)))
+				      `(,(if (> (length s) 1)
+					     `(or ,@s) 
+					     (car s))
+					,@(loop (cdr rest) #f)))
 				     ((and (pair? (cdr rest))
 					   (pair? (cddr rest))
 					   (char=? #\- (cadr rest)) )
diff --git a/types.db b/types.db
index ea818bae..a8e8106a 100644
--- a/types.db
+++ b/types.db
@@ -574,7 +574,8 @@
 (irregex-search/matches (procedure irregex-search/matches (* string fixnum fixnum *) *))
 (irregex-split (procedure irregex-split (* string #!optional fixnum fixnum) list))
 (irregex-submatches (procedure irregex-submatches (*) *))
-(irregex-match-valid-index? irregex-match-valid-index? ((struct regexp-match) *) boolean)
+(irregex-match-valid-index? 
+ (procedure irregex-match-valid-index? ((struct regexp-match) *) boolean))
 (irregex? (procedure irregex? (*) boolean))
 (make-irregex-chunker
  (procedure make-irregex-chunker 
Trap