From: Gabor M. <me...@ho...> - 2004-12-08 15:10:30
|
Gives an error: invalid array index 225 for=20 #*0000000000000000000000000000000010111110000110010000000000111111100000000= 000000000000000000111101000000000000000000000000001110=20 (should be nonnegative and <127) Making the reserved-char-vector 256 bits long instead of only 127, fixes it: (defun reserved-char-vector (chars &key except) (do* ((a (make-array 256 :element-type 'bit :initial-element 0)) (chars chars (cdr chars)) (c (car chars) (car chars))) ((null chars) a) (if* (and except (member c except :test #'char=3D)) thenret else (setf (sbit a (char-int c)) 1)))) G=E1bor |