Greetings! "Gordon Shaw Novak" <[EMAIL PROTECTED]> writes:
> Camm, the following is my list of global vars used in dwindow.lsp > and their types, as determined by looking at the values of these > vars in xgcl on a 32-bit machine. Basically 'fixnum' denotes the > address of a record, while 'int' denotes a smaller integer. > > (int *mouse-x* ) > (int *mouse-y* ) > (int *mouse-window* ) > (fixnum *window-display* nil) > (int *window-screen* nil) > (int *root-window*) > (int *black-pixel*) > (int *white-pixel*) > (int *default-fg-color*) > (int *default-bg-color*) > (fixnum *default-size-hints*) > (fixnum *default-GC*) > (int *default-colormap*) > (fixnum *window-event*) > (int *window-default-pos-x* 10) > (int *window-default-pos-y* 20) > (int *window-default-border* 1) > (int *window-default-cursor* 68) > (int *window-save-foreground*) > (int *window-save-function*) > (fixnum *window-attributes*) > (fixnum *window-attr*) > (fixnum -> int *root-return* (int-array 1)) ; unused > (fixnum -> int *child-return* (int-array 1)) > (fixnum -> int *root-x-return* (int-array 1)) > (fixnum -> int *root-y-return* (int-array 1)) > (fixnum -> int *win-x-return* (int-array 1)) ; unused > (fixnum -> int *win-y-return* (int-array 1)) ; unused > (fixnum -> int *mask-return* (int-array 1)) ; unused > (fixnum -> int *x-return* (int-array 1)) > (fixnum -> int *y-return* (int-array 1)) > (fixnum -> int *width-return* (int-array 1)) > (fixnum -> int *height-return* (int-array 1)) > (fixnum -> int *depth-return* (int-array 1)) ; unused > (fixnum -> int *border-width-return* (int-array 1)) > (fixnum -> int *text-width-return* (int-array 1)) ; very unused > (fixnum -> int *direction-return* (int-array 1)) ; unused > (fixnum -> int *ascent-return* (int-array 1)) > (fixnum -> int *descent-return* (int-array 1)) > (fixnum -> int *overall-return* (int-array 1)) ; unused > (fixnum *GC-Values*) > (fixnum *window-xcolor* nil) > (int *window-menu-code* nil) > (fixnum -> int *min-keycodes-return* (int-array 1)) > (fixnum -> int *max-keycodes-return* (int-array 1)) > (fixnum -> int *keycodes-return* (int-array 1)) ; unused > Thanks for this! > The comment 'unused' means the parameter is required by X, but > I don't use its value. > > It appears to me that all the existing uses of int-pos should > in fact be returning 32-bit integers; thus, there would be no > need for a function fixnum-pos. > Well, in gdb, the size of Window on harper is currently 8 bytes, meaning that *child-return* for example needs fixnum-pos, AFAICS (I think you read this value in the mouse pointer routine). The unused ones requiring 8 bytes just need enough space to write into -- currently int-array allocates a fixnum array, but reads a short or long integer therefrom in int-pos and fixnum-pos respectively. Other pointers of which I do not yet know the size are Keysym*, etc. > If you got (wtesta) and (wtestb) to work, that is most of it. Great! > The remainder hangs on a single function, window-track-mouse. Appears so. > If you can give me a saved_xgcl that (preferably) does not > execute the test file functions when you say (xgcl) and is > sufficient to run (wtesta) and (wtestb), I should be able to > do some debugging with that. > I think we crossed in the email -- the current saved_xgcl should allow direct wtest testing, unless I've messed something else up :-). >(load "gcl_dwtest") >(wtesta) >(wtestb) >(wtestc) ;segfault here. Take care, > Many thanks, Gordon > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel