Implement char=-predicate and char-ci=-predicate.
authorChris Hanson <org/chris-hanson/cph>
Thu, 26 Jan 2017 23:37:57 +0000 (15:37 -0800)
committerChris Hanson <org/chris-hanson/cph>
Thu, 26 Jan 2017 23:37:57 +0000 (15:37 -0800)
src/runtime/char.scm
src/runtime/runtime.pkg

index 1ac8103eeeb2796cc0dba793f73716d7779bb12d..2e2aedc34577417ac1754b240db4febe7c4aeeb0 100644 (file)
@@ -133,6 +133,16 @@ USA.
 
 (define-integrable (char-ci->integer char)
   (char->integer (char-upcase char)))
+
+(define (char=-predicate char)
+  (guarantee char? char 'char=-predicate)
+  (lambda (char*)
+    (char=? char* char)))
+
+(define (char-ci=-predicate char)
+  (guarantee char? char 'char-ci=-predicate)
+  (lambda (char*)
+    (char-ci=? char* char)))
 \f
 (define (char-downcase char)
   (%case-map-char char downcase-table))
index 3dc076c3d25f5463623d4602a2624d3be3133bfb..9f46f3fa71c937f18e018759d35c859af1aa6915 100644 (file)
@@ -1308,6 +1308,7 @@ USA.
          char-bits-set?
          char-ci<=?
          char-ci<?
+         char-ci=-predicate
          char-ci=?
          char-ci>=?
          char-ci>?
@@ -1321,6 +1322,7 @@ USA.
          char-utf8-byte-length
          char<=?
          char<?
+         char=-predicate
          char=?
          char>=?
          char>?