Ticket #870: 0001-Ensure-that-srfi-13-string-and-its-string-comparison.patch.txt

File 0001-Ensure-that-srfi-13-string-and-its-string-comparison.patch.txt, 3.9 KB (added by Jim Ursetto, 9 years ago)
Line 
1From 72b4138d0fd1f314f9129ea1bf54f67892e25d38 Mon Sep 17 00:00:00 2001
2From: Jim Ursetto <zbigniewsz@gmail.com>
3Date: Mon, 18 Jun 2012 20:16:24 -0500
4Subject: [PATCH] Ensure that srfi-13 string= and its string-comparison
5 friends return booleans on success
6
7---
8 srfi-13.scm |   36 ++++++++++++++++++------------------
9 1 files changed, 18 insertions(+), 18 deletions(-)
10
11diff --git a/srfi-13.scm b/srfi-13.scm
12index 615cbb7..e4a0509 100644
13--- a/srfi-13.scm
14+++ b/srfi-13.scm
15@@ -783,7 +783,7 @@
16         (or (and (eq? s1 s2) (= start1 start2))                ; Fast path
17             (%string-compare s1 start1 end1 s2 start2 end2     ; Real test
18                              (lambda (i) #f)
19-                             values
20+                             (lambda (i) (if i #t #f))
21                              (lambda (i) #f))))))
22 
23 (define (string<> s1 s2 . maybe-starts+ends)
24@@ -792,9 +792,9 @@
25     (or (not (= (- end1 start1) (- end2 start2)))              ; Fast path
26        (and (not (and (eq? s1 s2) (= start1 start2)))          ; Quick filter
27             (%string-compare s1 start1 end1 s2 start2 end2     ; Real test
28-                             values
29+                             (lambda (i) (if i #t #f))
30                              (lambda (i) #f)
31-                             values)))))
32+                             (lambda (i) (if i #t #f)))))))
33 
34 (define (string< s1 s2 . maybe-starts+ends)
35   (let-string-start+end2 (start1 end1 start2 end2)
36@@ -803,7 +803,7 @@
37        (< end1 end2)
38 
39        (%string-compare s1 start1 end1 s2 start2 end2          ; Real test
40-                        values
41+                        (lambda (i) (if i #t #f))
42                         (lambda (i) #f)
43                         (lambda (i) #f)))))
44 
45@@ -816,7 +816,7 @@
46        (%string-compare s1 start1 end1 s2 start2 end2          ; Real test
47                         (lambda (i) #f)
48                         (lambda (i) #f)
49-                        values))))
50+                        (lambda (i) (if i #t #f))))))
51 
52 (define (string<= s1 s2 . maybe-starts+ends)
53   (let-string-start+end2 (start1 end1 start2 end2)
54@@ -825,8 +825,8 @@
55        (<= end1 end2)
56 
57        (%string-compare s1 start1 end1 s2 start2 end2          ; Real test
58-                        values
59-                        values
60+                        (lambda (i) (if i #t #f))
61+                        (lambda (i) (if i #t #f))
62                         (lambda (i) #f)))))
63 
64 (define (string>= s1 s2 . maybe-starts+ends)
65@@ -837,8 +837,8 @@
66 
67        (%string-compare s1 start1 end1 s2 start2 end2          ; Real test
68                         (lambda (i) #f)
69-                        values
70-                        values))))
71+                        (lambda (i) (if i #t #f))
72+                        (lambda (i) (if i #t #f))))))
73 
74 (define (string-ci= s1 s2 . maybe-starts+ends)
75   (let-string-start+end2 (start1 end1 start2 end2)
76@@ -847,7 +847,7 @@
77         (or (and (eq? s1 s2) (= start1 start2))                ; Fast path
78             (%string-compare-ci s1 start1 end1 s2 start2 end2  ; Real test
79                                 (lambda (i) #f)
80-                                values
81+                                (lambda (i) (if i #t #f))
82                                 (lambda (i) #f))))))
83 
84 (define (string-ci<> s1 s2 . maybe-starts+ends)
85@@ -856,9 +856,9 @@
86     (or (not (= (- end1 start1) (- end2 start2)))              ; Fast path
87        (and (not (and (eq? s1 s2) (= start1 start2)))          ; Quick filter
88             (%string-compare-ci s1 start1 end1 s2 start2 end2  ; Real test
89-                                values
90+                                (lambda (i) (if i #t #f))
91                                 (lambda (i) #f)
92-                                values)))))
93+                                (lambda (i) (if i #t #f)))))))
94 
95 (define (string-ci< s1 s2 . maybe-starts+ends)
96   (let-string-start+end2 (start1 end1 start2 end2)
97@@ -867,7 +867,7 @@
98        (< end1 end2)
99 
100        (%string-compare-ci s1 start1 end1 s2 start2 end2       ; Real test
101-                           values
102+                           (lambda (i) (if i #t #f))
103                            (lambda (i) #f)
104                            (lambda (i) #f)))))
105 
106@@ -880,7 +880,7 @@
107        (%string-compare-ci s1 start1 end1 s2 start2 end2       ; Real test
108                            (lambda (i) #f)
109                            (lambda (i) #f)
110-                           values))))
111+                           (lambda (i) (if i #t #f))))))
112 
113 (define (string-ci<= s1 s2 . maybe-starts+ends)
114   (let-string-start+end2 (start1 end1 start2 end2)
115@@ -889,8 +889,8 @@
116        (<= end1 end2)
117 
118        (%string-compare-ci s1 start1 end1 s2 start2 end2       ; Real test
119-                           values
120-                           values
121+                           (lambda (i) (if i #t #f))
122+                           (lambda (i) (if i #t #f))
123                            (lambda (i) #f)))))
124 
125 (define (string-ci>= s1 s2 . maybe-starts+ends)
126@@ -901,8 +901,8 @@
127 
128        (%string-compare-ci s1 start1 end1 s2 start2 end2       ; Real test
129                            (lambda (i) #f)
130-                           values
131-                           values))))
132+                           (lambda (i) (if i #t #f))
133+                           (lambda (i) (if i #t #f))))))
134 
135 
136 ;;; Hash
137--
1381.7.6.1
139