Fix typo. Add another combinator.
authorChris Hanson <org/chris-hanson/cph>
Mon, 10 Mar 1997 05:32:44 +0000 (05:32 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 10 Mar 1997 05:32:44 +0000 (05:32 +0000)
v7/src/edwin/comatch.scm

index b95534e77fa4e0c318d9ecb8cdb9c9214ea4bf84..63e5a4ca74ff1c0c53a59b2fd8c6b10edbd599e7 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Id: comatch.scm,v 1.2 1997/03/08 00:16:10 cph Exp $
+;;;    $Id: comatch.scm,v 1.3 1997/03/10 05:32:44 cph Exp $
 ;;;
 ;;;    Copyright (c) 1997 Massachusetts Institute of Technology
 ;;;
       (comatch:general
        (lambda (start end)
         (and (mark< start end)
-             (char=? char (extract-right-char start)))))
+             (char=? char (extract-right-char start))
+             (mark1+ start))))
       (comatch:general
        (lambda (start end)
         (and (mark< start end)
-             (char-ci=? char (extract-right-char start)))))))
+             (char-ci=? char (extract-right-char start))
+             (mark1+ start))))))
 
 (define (comatch:string string #!optional case-fold?)
   (let ((case-fold? (if (default-object? case-fold?) #f case-fold?)))
    (lambda (start end)
      (or (comatch-apply comatcher start end) start))))
 
+(define (comatch:not comatcher)
+  (comatch:general
+   (lambda (start end)
+     (and (not (comatch-apply comatcher start end))
+         start))))
+
 (define (comatch:combine-rest initial combine-2)
   (lambda comatchers
     (if (null? comatchers)