Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!ucbcad!ucbvax!ZERMATT.LCS.MIT.EDU!RWS From: RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) Newsgroups: comp.windows.x Subject: re: CLX bug fix #42 Message-ID: <871103075139.5.RWS@KILLINGTON.LCS.MIT.EDU> Date: Tue, 3-Nov-87 07:51:00 EST Article-I.D.: KILLINGT.871103075139.5.RWS Posted: Tue Nov 3 07:51:00 1987 Date-Received: Sat, 7-Nov-87 01:32:33 EST References: <8711022122.AA02744@ficl> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 89 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-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-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.