~ chicken-core (chicken-5) b12797524beaaf27023fea905adf44394448e515
commit b12797524beaaf27023fea905adf44394448e515
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Jul 28 15:13:46 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Jul 28 15:13:46 2010 +0200
some bugfixes
diff --git a/chicken-status.scm b/chicken-status.scm
index cf03ce3c..cbd246c3 100644
--- a/chicken-status.scm
+++ b/chicken-status.scm
@@ -125,7 +125,7 @@ EOF
(lambda ()
(let* ((patterns
(map
- regexp
+ irregex
(cond ((null? pats) '(".*"))
(exact (map (lambda (p)
(string-append "^" (irregex-quote p) "$"))
diff --git a/irregex-core.scm b/irregex-core.scm
index 4f5f410c..970981d7 100644
--- a/irregex-core.scm
+++ b/irregex-core.scm
@@ -31,6 +31,8 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; History
;;
+;; 0.8.1.1: 2010/07/28 (felix): added CHICKEN-specific hacks, conditionally
+;; compiled using `cond-expand'
;; 0.8.1: 2010/03/09 - backtracking irregex-match fix and other small fixes
;; 0.8.0: 2010/01/20 - optimizing DFA compilation, adding SRE escapes
;; inside PCREs, adding utility SREs
@@ -478,14 +480,16 @@
;; SRFI-1 extracts (simplified 1-ary versions)
(define (find pred ls)
- (cond ((find-tail pred ls) => car)
- (else #f)))
+ (let lp ((ls ls))
+ (cond ((null? ls) #f)
+ ((pred (car ls)) (car ls))
+ (else (lp (cdr ls))))))
(define (find-tail pred ls)
(let lp ((ls ls))
(cond ((null? ls) #f)
- ((pred (car ls)) ls)
- (else (lp (cdr ls))))))
+ ((pred (car ls)) ls)
+ (else (lp (cdr ls))))))
(define (last ls)
(if (not (pair? ls))
diff --git a/irregex.scm b/irregex.scm
index 655d5554..14c071a8 100644
--- a/irregex.scm
+++ b/irregex.scm
@@ -166,4 +166,4 @@
(else
(loop2 (cdr rest) (cons (car rest) s))))))
(else (cons c (loop rest (memq c '(#\\ #\/))))))))))))
- (if sre? sre (regexp sre))))))
+ (if sre? sre (irregex sre))))))
Trap