CLIM mail archive


CLIM 1.1 erase-output-record ?

   Date: Thu, 30 Jun 1994 10:54-0500
   From: David Gadbois <>

       Date: Thu, 30 Jun 1994 10:31 CDT
       From: John Aspinall <>

	  Date: Thu, 30 Jun 1994 10:51:35 -0400
	  From: Jeff Morrill <jmorrill@BBN.COM>

	  This is indeed a FAQ.  You are getting bitten by the bug in
	  coordinate sorted sets.  I don't know if there are any other
	  types of output records in clim 1.

       But it's not the same bug as Marilyn Bunzo's bug.  In Everett's
       case, he's looking up a known-to-be-present output-record.  There
       *is* a fix for Everett's bug - I was still at 'Bolics when Scott and
       I put it in, and it's in the CLIM 2 sources.

       Perhaps someone has this patch stashed somewhere.  If dredging up
       the CLIM 1 sources wasn't slightly harder than getting universal
       health-care coverage, I'd mail it to you now.

   As it happens, I have the Genera 8.1 CLIM 1.0 sources online.  If it is
   kosher to be sending the fix out, let me know what to look for.

In the something method on some class (which in CLIM 2 are
class used to be something like COORDINATE-SORTED-SET and the method
used to be something like DELETE-OUTPUT-RECORD-ELEMENT) you should
find code like:

(defmethod delete-output-record
	   (child (record standard-tree-output-record) &optional (errorp t))
  (with-slots (coordinate-sorted-set fill-pointer tallest-box-height) record
    (let ((index (or (coordinate-sorted-set-position
		       child coordinate-sorted-set fill-pointer)
		     ;; If we couldn't find it with the binary search, try
		     ;; again the hard way.  If these things were more
		     ;; disciplined with respect to managing overlapping
		     ;; records, we wouldn't have to resort to this.
		     (position child coordinate-sorted-set))))

 and it's the 2nd clause of the OR that's the fix.


Main Index | Thread Index