jkh@pcsbst.UUCP (jkh) (08/13/89)
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
rws@EXPO.LCS.MIT.EDU (08/15/89)
First off, I noticed that it wouldn't be happy unless I did a (in-package 'xlib :use '(lisp)) That's because the person who wrote it did so on a lispm, where the package to use gets determined automagically from the magic ;;; comment line at the top of the file. Second, I notice that I can't pass seem to pass any arguments to the open-display call in hello-world. This is just a defect in the demo (most demos have defects :-). I'm sure that there's some way of setting this in CLX, but with no doc... There is rudimentary doc in doc.l. For someone who understands CL and Xlib, the interface should be pretty easy to figure out. There has in the past been more complete documentation available in draft form via anonymous ftp to csc.ti.com. Third, when I run it, it sits around for awhile gc'ing and then does nothing. The R3 hello.l works fine, without modification, under the Allegro CL on my machine. I suspect there are simply problems with CLX under AKCL.