Eliminate use of char-set-members.
authorChris Hanson <org/chris-hanson/cph>
Thu, 5 Dec 2019 06:19:52 +0000 (22:19 -0800)
committerChris Hanson <org/chris-hanson/cph>
Mon, 9 Dec 2019 09:49:29 +0000 (01:49 -0800)
src/edwin/comtab.scm
src/edwin/paredit.scm
src/runtime/chrsyn.scm
src/runtime/http-syntax.scm
src/runtime/regexp.scm
src/runtime/rexp.scm

index afb7057bc527fe32d558b549e64d13de1b84075e..7f77d446471500b177b6fe2d5bcf9bb8222cdbe6 100644 (file)
@@ -296,7 +296,7 @@ USA.
     (cond ((or (key? key) (button? key))
           (put! key))
          ((char-set? key)
-          (for-each put! (char-set-members key)))
+          (char-set-for-each put! (char-set-intersection key char-set:ascii)))
          ((prefixed-key? key)
           (let ((prefix (except-last-pair key)))
             (comtab-put! (if (null? prefix)
index 26fb467eabe936c41911e4eb544497a4d3f0073b..d93b450d7ed8b64efc14274b984434dd0f892e20 100644 (file)
@@ -888,7 +888,7 @@ Both must be lists, strings, or atoms; error if there is mismatch."
                       end))
 
 (define (char-set->ascii-string char-set)
-  (list->string (char-set-members char-set)))
+  (char-set->string (char-set-intersection char-set char-set:ascii)))
 
 (define (undo-record-point! #!optional buffer)
   (let ((group (buffer-group (if (default-object? buffer)
index ece276569267d88182426286c31865621d799f9d..f36c9016c8701cef8f2204d297fdb2705050ad41 100644 (file)
@@ -55,9 +55,10 @@ USA.
     (cond ((char? char)
           (vector-set! entries (char->integer char) entry))
          ((char-set? char)
-          (for-each (lambda (char)
-                      (vector-set! entries (char->integer char) entry))
-                    (char-set-members char)))
+          (char-set-for-each
+           (lambda (char)
+             (vector-set! entries (char->integer char) entry))
+           (char-set-intersection char char-set:ascii)))
          (else
           (error:wrong-type-argument char "character" 'set-char-syntax!)))))
 
index 1f5c834cc66ba36f00f71b7476a91ae314a0fb5c..d6c4271d825ee7198c518924f290036347f6f057 100644 (file)
@@ -844,11 +844,12 @@ USA.
        (cond ((char? key)
               (vector-set! table (char->integer key) handler))
              ((char-set? key)
-              (for-each (lambda (char)
-                          (let ((i (char->integer char)))
-                            (if (eq? (vector-ref table i) else-action)
-                                (vector-set! table i handler))))
-                        (char-set-members key)))
+              (char-set-for-each
+               (lambda (char)
+                 (let ((i (char->integer char)))
+                   (if (eq? (vector-ref table i) else-action)
+                       (vector-set! table i handler))))
+               (char-set-intersection key char-set:ascii)))
              (else
               (error:wrong-type-argument key "char or char-set")))))
     (lambda (port emit fifo)
index 98efe881aec03b315e5a8714a7d54980b50033b1..2ddf6059b84b94d4bf4720eb4e92d4b48d62e3c5 100644 (file)
@@ -179,7 +179,8 @@ USA.
        (append! (cdr ranges) (list char))
        ranges))
 
-  (let ((chars (char-set-members char-set)))
+  (let ((chars
+        (char-set->list (char-set-intersection char-set char-set:ascii))))
     (if (pair? chars)
        (if (pair? (cdr chars))
            (let ((builder (string-builder)))
index 7df6f2e2b902ca1117a2dfb9826b0a6baf08fb69..0e5d892fe94767dc12cacc084bab4d1260828732 100644 (file)
@@ -232,15 +232,10 @@ USA.
                          parts))))))))
 
 (define (case-fold-char-set c)
-  (let loop ((chars (char-set-members c)) (chars* '()))
-    (if (pair? chars)
-       (loop (cdr chars)
-             (if (char-alphabetic? (car chars))
-                 (cons* (char-upcase (car chars))
-                        (char-downcase (car chars))
-                        chars*)
-                 chars*))
-       (apply char-set chars*))))
+  (let ((char-set (char-set-intersection c char-set:ascii)))
+    (char-set-union char-set
+                   (char-upcase char-set)
+                   (char-downcase char-set))))
 
 (define (rexp-n*m n m . rexps)
   (guarantee exact-nonnegative-integer? n 'rexp-n*m)