I note that calls to alpha-char-p digit-char-p alphanumericp ... (all of whom call SB-IMPL::UCD-GENERAL-CATEGORY) fail to inline and produce compiler messages similar to shown below.

I am running sbcl-1.0.29-x86_64-linux.

(defun test-alpha-char-p (ch)
  (declare (character ch))
  (declare (optimize (speed 3) (safety 1) (debug 0)))
  (alpha-char-p ch))


#|
; in: DEFUN TEST-ALPHA-CHAR-P
;     (ALPHA-CHAR-P EV-PATHNAMES::CH)
; --> BLOCK < IF
; ==>
;   (< (SB-IMPL::UCD-GENERAL-CATEGORY CHAR) 5)
;
; note: unable to
;   open-code FLOAT to RATIONAL comparison
; due to type uncertainty:
;   The first argument is a REAL, not a FLOAT.
;
; note: forced to do GENERIC-< (cost 10)
;       unable to do inline fixnum comparison (cost 3) because:
;       The first argument is a T, not a FIXNUM.
;       unable to do inline fixnum comparison (cost 4) because:
;       The first argument is a T, not a FIXNUM.
;       etc.
|#