Expose mode: strange failures.

Philippe Brochard pbrochard at common-lisp.net
Fri Dec 6 20:08:56 UTC 2013


Michaël Cadilhac writes:

> On Wed, Dec 4, 2013 at 10:43 PM, Michaël Cadilhac <michael at cadilhac.name> wrote:
>
>> A second crash I got came from a window with German words in the
>> title.  The reported error was:
>> Processing "genug - Wörterbuch Deutsch-Englisch - WordReference.com -
>> Mozilla Firefox": type=NORMAL #<XLIB:WINDOW :0 1800075>
>> CLFSWM Error: The value #\LATIN_SMALL_LETTER_O_WITH_DIAERESIS
>>               is not of type
>>                 BASE-CHAR..
>> Reinitializing...
>
> For this crash, which was caused by the shuffle key rather than
> Expose, a SBCL/CLISP clash may be to be blamed, namely:
>
>   In CLISP, BASE-CHAR and CHARACTER are equivalent and include all of
>   Unicode (16 bit)
>
> and in SBCL:
>
>   With the :SB-UNICODE on *features* (the default), however, base-char
> and character are distinct: character encompasses the set of all
> 1114112 characters, while base-char represents the set of the first
> 128 characters.
>
> I don't know where this comes in play explicitly, if it does, in
> CLFSWM, but switching to CLISP fixes the crash.  In shuffle mode, the
> accents are displayed correctly, while in Expose, they are replaced by
> question marks; apart from this inconsistency, it works.  Let's hope
> it automagically fixed the other crash I had --- though some manual
> type-check in the code would prevent a crash.
>
SBCL is more sensible than CLISP for unicode strings. This is why I use
the (ugly but works) ensure-printable function. But I forgot one in the
new fastswitch-mode code. This is hopefully fixed with the commit
544f93c.

Thanks for the report,

Philippe



More information about the clfswm-devel mailing list