RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (11/03/87)
Date: Mon, 2 Nov 87 13:22:59 PST
From: franz!ficl!jdi@ucbarpa.Berkeley.EDU (John)
#1 is that you use *clx-cached-names* in clx.cl, which is loaded BEFORE
dependent, where *clx-cached-names* is defined.
Oops. I moved that [-types*, actually] from dependent.l to depdefs.l.
#2 is that patch dies on the part of the bug fix for attributes.cl -- is this
a good diff?
Yes, sorry, it's simply missing a final line:
--- 63,68 ----
Here's the diffs for #1:
*** lib/CLX/dependent.l.old Tue Nov 3 07:45:05 1987
--- lib/CLX/dependent.l Tue Nov 3 07:47:49 1987
***************
*** 840,869 ****
(restore-gcontext-temp-state ,gc ,temp-mask ,temp-gc))
(deallocate-gcontext-state ,saved-state))))
-
- ;;;-------------------------------------------------------------------------
- ;;; CLX can maintain a mapping from X server ID's to local data types. If
- ;;; one takes the view that CLX objects will be instance variables of
- ;;; objects at the next higher level, then PROCESS-EVENT will typically map
- ;;; from resource-id to higher-level object. In that case, the lower-level
- ;;; CLX mapping will almost never be used (except in rare cases like
- ;;; query-tree), and only serve to consume space (which is difficult to
- ;;; GC), in which case always-consing versions of the make-<mumble>s will
- ;;; be better. Even when maps are maintained, it isn't clear they are
- ;;; useful for much beyond xatoms and windows (since almost nothing else
- ;;; ever comes back in events).
- ;;;--------------------------------------------------------------------------
- (defconstant *clx-cached-types*
- '( drawable
- window
- pixmap
- ; gcontext
- cursor
- colormap
- font
- xatom))
-
-
;;; -----------------------------------------------------------------------------
;;; How error detection should CLX do?
;;; Several levels are possible:
--- 840,845 ----
*** lib/CLX/depdefs.l.old Tue Nov 3 07:38:40 1987
--- lib/CLX/depdefs.l Tue Nov 3 07:38:40 1987
***************
*** 20,25 ****
--- 20,47 ----
(in-package "XLIB" :use '("LISP"))
+ ;;;-------------------------------------------------------------------------
+ ;;; CLX can maintain a mapping from X server ID's to local data types. If
+ ;;; one takes the view that CLX objects will be instance variables of
+ ;;; objects at the next higher level, then PROCESS-EVENT will typically map
+ ;;; from resource-id to higher-level object. In that case, the lower-level
+ ;;; CLX mapping will almost never be used (except in rare cases like
+ ;;; query-tree), and only serve to consume space (which is difficult to
+ ;;; GC), in which case always-consing versions of the make-<mumble>s will
+ ;;; be better. Even when maps are maintained, it isn't clear they are
+ ;;; useful for much beyond xatoms and windows (since almost nothing else
+ ;;; ever comes back in events).
+ ;;;--------------------------------------------------------------------------
+ (defconstant *clx-cached-types*
+ '( drawable
+ window
+ pixmap
+ ; gcontext
+ cursor
+ colormap
+ font
+ xatom))
+
;;; ******* REMOVE THIS WHEN THE EXPLORER CAN PROCESS FUNCTION DECLARATIONS CORRECTLY *******
;;;Note that this is potentially dangerous because it also defines (typep foo 'function) to work when it shouldn't
;;;This is a small price to pay to get rid of all of those compiler warnings.