<div class="gmail_quote">On Mon, Dec 7, 2009 at 4:38 PM, szergling <span dir="ltr"><<a href="mailto:senatorzergling@gmail.com">senatorzergling@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">
</div></div>>Hi Gary, just a quick question.<br>
><br>
>It looks like you are trying to restore a hash-table whose size is<br>
>nil. Does (hash-table-size <any-hash-table>) ever return nil (that's<br>>what gets stored previously, see the defstore-cl-store code for<br>
>hash-tables)?  CLHS says that SIZE is a non-negative integer. Any<br>
>ideas how this could happen?  Are you hash-tables ever empty?<br>
><br>
>If this is a Lispworks bug, perhaps you could redefine the restorer to<br>
>default to :size 0 when this happens? (just a workaround)<br>
><br>
>Yong.<br></blockquote><div><br>Thanks! I have no idea how the (hash-table-size <any-hash-table>) ever returned nil in Lispworks (1.6.0.01). Besides size, I logged out all parameters restored for the saved hash table. They read as follows:<br>
<br>[DEBUG] : rehash-size = NIL<br>[DEBUG] : rehash-threshold = 7<br>[DEBUG] : size = NIL<br>[DEBUG] : test = EQL<br>[DEBUG] : count = 601<br><br>rehash-size and rehash-threshold are both wrong, too. If I make an empty hash table, the Lispworks gives size=37, rehash-size=2.0, rehash-threshold=1.0 - surely they got them all right.<br>
<br>You can see that my hash table got 601 entries. I indeed got them all restored using your workaround idea. Still not sure how those bad parameter values got stored in the first place.<br><br>Pointing me to the source code is a great help. Many thanks again!<br>
<br>Gary<br></div></div>