~ 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