mes: Simplify read-string.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 21 May 2017 10:21:07 +0000 (12:21 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 21 May 2017 10:21:07 +0000 (12:21 +0200)
* module/mes/guile.mes (read-string): Simplify, probably fix even.

module/mes/guile.mes

index 6aadff3ad7d9e2a6a5c4a502a890a3bbd795dd3a..b0a0e5f2a39057c9f41fa3eb42450e590eeff1ed 100644 (file)
       string-port)))
 
 (define (read-string)
-  (define (append-char s c)
-    (append2 s (cons c (list))))
   (define (read-string c p s)
-    (cond
-     ((and (eq? c #\\) (or (eq? p #\\) (eq? p #\")))
-      ((lambda (c)
-         (read-string (read-char) (peek-char) (append-char s c)))
-       (read-char)))
-     ((and (eq? c #\\) (eq? p #\n))
-      (read-char)
-      (read-string (read-char) (peek-char) (append-char s 10)))
-     ((eq? c #\*eof*) s)
-     (#t (read-string (read-char) (peek-char) (append-char s c)))))
-  (list->string (read-string (read-char) (peek-char) (list))))
+    (if (eq? c #\*eof*) s
+        (read-string (read-char) (peek-char) (cons c s))))
+  (list->string (reverse (read-string (read-char) (peek-char) (list)))))