Add tagging support for unicode-string.
authorChris Hanson <org/chris-hanson/cph>
Fri, 21 Apr 2017 07:21:41 +0000 (00:21 -0700)
committerChris Hanson <org/chris-hanson/cph>
Fri, 21 Apr 2017 07:21:41 +0000 (00:21 -0700)
Also generate better error for unknown type codes.

src/runtime/predicate-tagging.scm

index b64d262351480b72fecdbcd41b1469533d332ed9..bd63a7c3b6bc8ef1ba5735340df85213a9b39360 100644 (file)
@@ -147,7 +147,8 @@ USA.
 (define (object->tag object)
   (let ((code (object-type object)))
     (or (vector-ref primitive-tags code)
-       ((vector-ref primitive-tag-methods code) object))))
+       ((vector-ref primitive-tag-methods code) object)
+       (error "Unknown type code:" code))))
 
 (define (object->datum object)
   (cond ((tagged-object? object) (system-pair-cdr object))
@@ -190,6 +191,7 @@ USA.
    (define-primitive-predicate 'recnum number?)
    (define-primitive-predicate 'stack-environment stack-address?)
    (define-primitive-predicate 'string string?)
+   (define-primitive-predicate 'unicode-string string?)
    (define-primitive-predicate 'uninterned-symbol uninterned-symbol?)
    (define-primitive-predicate 'vector vector?)
    (define-primitive-predicate 'vector-1b bit-string?)