On Sun, Nov 13, 2011 at 7:18 PM, Eric Marsden <eric.marsden@free.fr> wrote:
,----
| > (disassemble '(lambda (p1 p2) (declare (optimize (safety 0)) (type (member #\U00FE) p2)) (equalp p1 p2)))
|
| ;;; Compiling (DEFUN C::GAZONK ...).
| ;;; Emitting code for C::GAZONK.
| /*    function definition for GAZONK                                */
| /*    optimize speed 3, debug 0, space 0, safety 0                  */
| static cl_object L1c__gazonk(cl_object V1, cl_object V2)
| { VT2 VLEX2 CLSR2 STCK2
|       const cl_env_ptr cl_env_copy = ecl_process_env();
|       cl_object value0;
|       char V3;
|       V3= CHAR_CODE(V2);

Here is the problem: "char" in Linux is "signed char", while in OS X it seems to default to "unsigned char". I have changed ECL so that BASE-CHAR objects are unboxed using the explicit C type "unsigned char" to avoid such ambiguities. ASA I get to a non-firewalled computer I will upload the fix.

Juanjo

--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com