Re: WITH-BUFFER-FLUSH-INHIBITED and TRANSLATE-DEFAULT

Daniel Barlow <[email protected]> Sun, 11 May 2003 23:50:24 +0100
Newsgroups gmane.lisp.clx.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Gary Byers <[email protected]> writes:

> The first thing that TRANSLATE-DEFAULT does in those CLX versions is
> to try to call FONT-MIN-CHAR on the specified font object.  If font
> information for the font has already been obtained, it'll be used;
> otherwise, QUERY-FONT will try to fill in the information that
> FONT-MIN-CHAR needs (the font's FONT-INFO-INTERNAL.)

FWIW, I've observed lockups in this area as well, but I blamed them on
alpha-quality SBCL locking code.  But if you're seeing them in OpenMCL
as well, perhaps I should be less quick to blame my own code ...

This is newish code which iirc was something to do with handling
non-ascii characters more correctly: using font-min-char and
font-max-char instead of graphic-char-p, which depends on the
implementation to get right.  See the patch to text.lisp in

http://clozure.com/pipermail/portable-clx-devel/2003-February/000004.html

I _think_ it may have been Iban Hatchondo who sent this to CLOCC (I am
quite probably wrong): Iban, can you advise?

> It seems most likely that I botched something, and the two most
> likely candidates would seem to be:
>
> a) the buffering code: it should be possible to start a new request/
>    reply sequence (and have everything flushed out to the server)
>    even if WITH-BUFFER-FLUSH-INHIBITED is in effect.

I think that would be icky.  Perhaps my perception is coloured fronm
removing a lot of code from SBCL that does GC even when WITHOUT-GCING
is in effect, but I'd like to be able to read code saying WITH-NO-FOO
and know that FOO is not going to happen.

> b) something in the font code: a font that's actually going to be
>    used for text drawing should have had its FONT-INFO-INTERNAL
>    set via QUERY-FONT long before that drawing takes place.

How bad would it be to make OPEN-FONT call QUERY-FONT?  According to
the libX11 man page, "The XLoadQueryFont function provides the most
common way for accessing a font", which is some kind of evidence in
favour of this being idiomatic X style


- -dan

- -- 

   http://www.cliki.net/ - Link farm for free CL-on-Unix resources 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQE+vtO3HDK5ZnWQiRMRAj0HAKCt7J7EAgVJG4PMi4iHdEFYgvmCzQCcC13T
laxpclxtwa3eLgY5rlVbz5Q=
=CPdW
-----END PGP SIGNATURE-----