Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!uflorida!rex!ginosko!uunet!mcvax!unido!pcsbst!jkh
From: jkh@pcsbst.UUCP (jkh)
Newsgroups: comp.windows.x
Subject: More confusion with CLX
Message-ID: <946@pcsbst.UUCP>
Date: 12 Aug 89 19:54:40 GMT
Reply-To: jkh@meepmeep.pcs.com ( Jordan K. Hubbard )
Organization: PCS GmbH, Pfaelzer-Wald-Str. 36, 8000 Muenchen; West-Germany
Lines: 40

Ok, time for some more novice-type annoying questions. I brought up hello.l
under my lisp system (AKCL 1.179) and tried running it. First off, I noticed
that it wouldn't be happy unless I did a (in-package 'xlib :use '(lisp))
so that it could find the CLX functions, no big deal there, though it
seems that this should be more transparent somehow [I will confess now
that I'm a novice to Common Lisp, so I'm not all that sure how packages
work. I'll spend some more time with the grey book]. Doing the in-package
stuff also means that you have to be in the XLIB> package to run (hello-world)
now, which is somewhat confusing at first.

Second, I notice that I can't pass seem to pass any arguments to the
open-display call in hello-world. Since I'm on display 1, this is something
of a bother (display 0 is default)! I'm sure that there's some way of
setting this in CLX, but with no doc... I end up hard-wiring the call to
open-display. Ugh. I almost of wish open-display would accept the more
braindamaged "host:disp.scrn" format for compatibility, but I understand
why it was done the way it was.

Third, when I run it, it sits around for awhile gc'ing and then does
nothing. I discover that it is sitting on its butt waiting for an event.
"Hmmm." I say. "Where's the window?? Grumble. Maybe if I add a
display-force-output call after map-window?" Yes. Now the window shows
up. Wunderbar. But no text. Ok, another force-output goes after the
draw-glpyhs function. Fine. Window and text. Even handles expose events
and goes away cooperatively when I click on it. The question is, why
was all this necessary? Shouldn't the fact that it's waiting for an
event (using whatever mechanism it uses, I don't see anything like
"NextEvent" there, just some confusing event-case loop which I assume
does much the same thing) flush the output queue? Enquiring minds would
definately like to know.


					Jordan-- 
--------
				Jordan Hubbard
				PCS Computer Systeme GmbH
				Munich, West Germany
	UUCP:			pyramid!pcsbst!jkh jkh@meepmeep.pcs.com
	EUNET:			unido!pcsbst!jkh
	ARPA:			jkh@violet.berkeley.edu hubbard@decwrl.dec.com