non-NIL, limits the returned chars to those which pass
alphanumericp."
(lambda ()
- (if alphanumericp
- (code-char (funcall code))
+ (if alphanumericp
(loop
+ for count upfrom 0
for char = (code-char (funcall code))
until (alphanumericp char)
- finally (return char)))))
+ when (= 1000 count)
+ do (error "After 1000 iterations ~S has still not generated an alphanumeric character :(."
+ code)
+ finally (return char))
+ (code-char (funcall code)))))
(defun gen-string (&key (length (gen-integer :min 0 :max 80))
(elements (gen-character))