* boot-9.scm (keyword->symbol, display-usage-report): Changed
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 16 Sep 1997 20:35:15 +0000 (20:35 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 16 Sep 1997 20:35:15 +0000 (20:35 +0000)
length --> string-length.  (Thanks to Aleksandar Bakic.)
(separate-fields-discarding-char, separate-fields-after-char,
separate-fields-before-char): Bugfix from Maciej Stachowiak
<mstachow@mit.edu>.  Thanks!

ice-9/ChangeLog
ice-9/boot-9.scm

index 2bcde47..01de012 100644 (file)
@@ -1,7 +1,10 @@
 Tue Sep 16 22:09:50 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
        * boot-9.scm (keyword->symbol, display-usage-report): Changed
-       length --> string-length.
+       length --> string-length.  (Thanks to Aleksandar Bakic.)
+       (separate-fields-discarding-char, separate-fields-after-char,
+       separate-fields-before-char): Bugfix from Maciej Stachowiak
+       <mstachow@mit.edu>.  Thanks!
 
 Mon Sep 15 23:39:54 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
index c88ae36..177fcf7 100644 (file)
             (str str))
     (cond
      ((string-rindex str ch)
-      => (lambda (pos) (loop (cons (make-shared-substring str (+ 1 w)) fields)
-                            (make-shared-substring str 0 w))))
+      => (lambda (w) (loop (cons (make-shared-substring str (+ 1 w)) fields)
+                          (make-shared-substring str 0 w))))
      (else (ret (cons str fields))))))
 
 (define-public (separate-fields-after-char ch str ret)
-  (let loop ((fields '())
-            (str str))
-    (cond
-     ((string-rindex str ch)
-      => (lambda (pos) (loop (cons (make-shared-substring str (+ 1 w)) fields)
-                            (make-shared-substring str 0 (+ 1 w)))))
-     (else (ret (cons str fields))))))
+  (reverse
+   (let loop ((fields '())
+             (str str))
+     (cond
+      ((string-index str ch)
+       => (lambda (w) (loop (cons (make-shared-substring str 0 (+ 1 w)) fields)
+                           (make-shared-substring str (+ 1 w)))))
+      (else (ret (cons str fields)))))))
 
 (define-public (separate-fields-before-char ch str ret)
   (let loop ((fields '())
             (str str))
     (cond
      ((string-rindex str ch)
-      => (lambda (pos) (loop (cons (make-shared-substring str w) fields)
+      => (lambda (w) (loop (cons (make-shared-substring str w) fields)
                             (make-shared-substring str 0 w))))
      (else (ret (cons str fields))))))