Treat ALL ascii control characters specially when deciding whether or
authorChris Hanson <org/chris-hanson/cph>
Thu, 20 Apr 1989 08:12:12 +0000 (08:12 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 20 Apr 1989 08:12:12 +0000 (08:12 +0000)
not to exit incremental search.  "Wrapped" should not appear when the
search direction is reversed.

v7/src/edwin/iserch.scm

index 46d7de4aa8e14d171a35cd4b1b62de72386a4af1..850244d4b223c56b6671a49eb448e1f489d619b9 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/iserch.scm,v 1.2 1989/04/15 00:50:19 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/iserch.scm,v 1.3 1989/04/20 08:12:12 cph Exp $
 ;;;
 ;;;    Copyright (c) 1986, 1989 Massachusetts Institute of Technology
 ;;;
              (extract-rest-of-line (search-state-end-point state))))
            ((or (not (zero? (char-bits char)))
                 (and (ref-variable search-exit-option)
-                     (ascii-controlified? char)))
+                     (< (char-code char) #x20)))
             (isearch-exit state)
             char)
            (else
                                (search-state-point parent)
                                (search-state-initial-point parent)))
            (else
-            (make-search-state text
-                               parent
-                               forward?
-                               regexp?
-                               true
-                               (or (search-state-wrapped? parent)
-                                   (not (search-state-successful? parent)))
-                               false
-                               (re-match-start 0)
-                               (re-match-end 0)
-                               result
-                               initial-point))))))
+            (make-search-state
+             text
+             parent
+             forward?
+             regexp?
+             true
+             (and (boolean=? forward? (search-state-forward? parent))
+                  (or (search-state-wrapped? parent)
+                      (not (search-state-successful? parent))))
+             false
+             (re-match-start 0)
+             (re-match-end 0)
+             result
+             initial-point))))))
 
 (define (perform-search forward? regexp? text start)
   (call-with-current-continuation