~ chicken-core (chicken-5) 300a05e65b3f9d300a8a67a0011e8fa65fed9e40
commit 300a05e65b3f9d300a8a67a0011e8fa65fed9e40
Merge: 8a516a04 053c315e
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Tue Aug 31 10:25:14 2010 -0400
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Tue Aug 31 10:25:14 2010 -0400
merged experimental into total-irregex-reconstruction
diff --cc files.scm
index 630808a4,591467e0..943a6de4
--- a/files.scm
+++ b/files.scm
@@@ -275,69 -243,53 +244,59 @@@ EO
(##sys#check-string pn 'decompose-pathname)
(if (fx= 0 (##sys#size pn))
(values #f #f #f)
- (let ([ms (string-match rx1 pn)])
+ (let ([ms (irregex-search rx1 pn)])
(if ms
- (values (strip-pds (cadr ms)) (caddr ms) (car (cddddr ms)))
- (let ([ms (string-match rx2 pn)])
+ (values
+ (strip-pds (irregex-match-substring ms 1))
+ (irregex-match-substring ms 2)
+ (irregex-match-substring ms 4))
+ (let ([ms (irregex-search rx2 pn)])
(if ms
- (values (strip-pds (cadr ms)) (caddr ms) #f)
+ (values
+ (strip-pds (irregex-match-substring ms 1))
+ (irregex-match-substring ms 2)
+ #f)
(values (strip-pds pn) #f #f) ) ) ) ) ) ) ) )
- (define pathname-directory)
- (define pathname-file)
- (define pathname-extension)
- (define pathname-strip-directory)
- (define pathname-strip-extension)
- (define pathname-replace-directory)
- (define pathname-replace-file)
- (define pathname-replace-extension)
- (let ([decompose-pathname decompose-pathname])
-
- (set! pathname-directory
- (lambda (pn)
- (let-values ([(dir file ext) (decompose-pathname pn)])
- dir) ) )
-
- (set! pathname-file
- (lambda (pn)
- (let-values ([(dir file ext) (decompose-pathname pn)])
- file) ) )
-
- (set! pathname-extension
- (lambda (pn)
- (let-values ([(dir file ext) (decompose-pathname pn)])
- ext) ) )
-
- (set! pathname-strip-directory
- (lambda (pn)
- (let-values ([(dir file ext) (decompose-pathname pn)])
- (make-pathname #f file ext) ) ) )
-
- (set! pathname-strip-extension
- (lambda (pn)
- (let-values ([(dir file ext) (decompose-pathname pn)])
- (make-pathname dir file) ) ) )
-
- (set! pathname-replace-directory
- (lambda (pn dir)
- (let-values ([(_ file ext) (decompose-pathname pn)])
- (make-pathname dir file ext) ) ) )
-
- (set! pathname-replace-file
- (lambda (pn file)
- (let-values ([(dir _ ext) (decompose-pathname pn)])
- (make-pathname dir file ext) ) ) )
-
- (set! pathname-replace-extension
- (lambda (pn ext)
- (let-values ([(dir file _) (decompose-pathname pn)])
- (make-pathname dir file ext) ) ) ) )
+ (define pathname-directory
+ (lambda (pn)
+ (let-values ([(dir file ext) (decompose-pathname pn)])
+ dir) ) )
+
+ (define pathname-file
+ (lambda (pn)
+ (let-values ([(dir file ext) (decompose-pathname pn)])
+ file) ) )
+
+ (define pathname-extension
+ (lambda (pn)
+ (let-values ([(dir file ext) (decompose-pathname pn)])
+ ext) ) )
+
+ (define pathname-strip-directory
+ (lambda (pn)
+ (let-values ([(dir file ext) (decompose-pathname pn)])
+ (make-pathname #f file ext) ) ) )
+
+ (define pathname-strip-extension
+ (lambda (pn)
+ (let-values ([(dir file ext) (decompose-pathname pn)])
+ (make-pathname dir file) ) ) )
+
+ (define pathname-replace-directory
+ (lambda (pn dir)
+ (let-values ([(_ file ext) (decompose-pathname pn)])
+ (make-pathname dir file ext) ) ) )
+
+ (define pathname-replace-file
+ (lambda (pn file)
+ (let-values ([(dir _ ext) (decompose-pathname pn)])
+ (make-pathname dir file ext) ) ) )
+
+ (define pathname-replace-extension
+ (lambda (pn ext)
+ (let-values ([(dir file _) (decompose-pathname pn)])
+ (make-pathname dir file ext) ) ) )
(define create-temporary-file)
(define create-temporary-directory)
Trap