set, otherwise it returns @code{#f} .
@end deffn
+@deffn procedure char->bitless-char char
+Returns @var{char} with any bucky bits removed. The result is
+guaranteed to satisfy @code{bitless-char?}.
+@end deffn
+
@deffn procedure char-predicate char
Returns a procedure of one argument that returns @code{#t} if its
argument is a character @code{char=?} to @var{char}, otherwise it
(define-integrable (%make-char code bits)
(integer->char (fix:or (fix:lsh bits 21) code)))
-(define (char-code char)
+(define-integrable (char-code char)
(fix:and (char->integer char) #x1FFFFF))
-(define (char-bits char)
+(define-integrable (char-bits char)
(fix:lsh (char->integer char) -21))
(define (bitless-char? object)
(and (char? object)
(fix:< (char->integer object) char-code-limit)))
+(define (char->bitless-char char)
+ (integer->char (char-code char)))
+
(define (char-bits-set? bits char)
(guarantee-limited-index-fixnum bits char-bits-limit 'char-bits-set?)
(fix:= bits (fix:and (char-bits char) bits)))