diff --git a/ansi-tests/character.lsp b/ansi-tests/character.lsp index 429e371a8373a96555d123d7861b905ebb8e7d69..101139c67bc217b544b92860d8fb40581d9cfd71 100644 --- a/ansi-tests/character.lsp +++ b/ansi-tests/character.lsp @@ -392,7 +392,8 @@ always (eql (char-int x) (char-code x))) t) -(deftest char-int.2 +(defun char-int.2.fn () + (declare (optimize (safety 3) (speed 1) (space 1))) (let ((c->i (make-hash-table :test #'equal)) (i->c (make-hash-table :test #'eql))) (flet ((%insert @@ -412,10 +413,17 @@ (loop for i from 0 below char-code-limit always (%insert (code-char i))) (every #'%insert +standard-chars+) - (every #'%insert *universe*)))) + (every #'%insert *universe*) + t)))) + +(eval-when (load eval) (compile 'char-int.2.fn)) + +(deftest char-int.2 + (char-int.2.fn) t) -(deftest char-name.1 +(defun char-name.1.fn () + (declare (optimize (safety 3) (speed 1) (space 1))) (flet ((%check (c) (or (not (characterp c)) @@ -427,7 +435,13 @@ (loop for i from 0 below char-code-limit always (%check (code-char i))) (every #'%check +standard-chars+) - (every #'%check *universe*))) + (every #'%check *universe*) + t))) + +(eval-when (load eval) (compile 'char-name.1.fn)) + +(deftest char-name.1 + (char-name.1.fn) t) (deftest char-name.2 @@ -461,14 +475,19 @@ t) (deftest name-char.1 - (loop for x in *universe* - for s = (catch-type-error (string x)) - always - (or (eql s 'type-error) - (let ((c (name-char x))) - (or (not c) - (characterp c) - (string-equal (char-name c) s))))) + (funcall + (compile nil + '(lambda () + (declare (safety 3) (speed 1) (space 1)) + (notnot + (loop for x in *universe* + for s = (catch-type-error (string x)) + always + (or (eql s 'type-error) + (let ((c (name-char x))) + (or (not c) + (characterp c) + (string-equal (char-name c) s))))))))) t) (deftest name-char.2