[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: var types
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: var types |
Date: |
22 Jun 2006 17:29:59 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
"Gordon Shaw Novak" <address@hidden> 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 address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- [Gcl-devel] Re: var types,
Camm Maguire <=