Subject: Re: (make-hash-table :test #'mytest) From: Erik Naggum <erik@naggum.no> Date: 05 Nov 2002 22:30:40 +0000 Newsgroups: comp.lang.lisp Message-ID: <3245524240078182@naggum.no> * Michael Hudson | How do you efficiently tell which hashtables a given object is in? I | can't think of a blindly obvious way of doing that. I haven't spent long | thinking about it, so sorry if I'm just being dumb. You are not allowed to change the key in a way that would change the value of the test function applied to it. This is not when rehashing takes place. Rehashing takes place when you have an `eq´ hashtable of objects that do not have an internal hash code (such as is commonly done with symbols), and a garbage collection moves the objects around. As Duane explained, there is no point in actually performing the rehash until the hash-table is accessed after a garbage collection that actually moved an object. The information necessary to make this decision is all local to the hash-table. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.