Try this:
(defun compare-chars (char1 char2 ignore-case)
(flet ((compare (char=)
(funcall char= char1 char2)))
(if ignore-case
(compare #'char-equal)
(compare #'char=))))
(compile 'compare-chars)
Now
(compare-chars #\a #\A t)
returns NIL, and not T as expected. I'm using CMUCL-18d on Linux.
Helmut
