mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 20:30:28 +02:00
* goops/dispatch.scm (cache-hashval): Corrected termination
condition for hashval computation. (Previously, it made erroneous assumptions about the representation of environments; Thanks to Andreas Rottmann.)
This commit is contained in:
parent
842d510f73
commit
3d167db8a9
2 changed files with 9 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
|||
2003-04-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||
|
||||
* goops/dispatch.scm (cache-hashval): Corrected termination
|
||||
condition for hashval computation. (Previously, it made erroneous
|
||||
assumptions about the representation of environments; Thanks to
|
||||
Andreas Rottmann.)
|
||||
|
||||
2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
|
||||
|
||||
* goops.scm (eqv?, equal?): Provide default methods for `eqv?' and
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;;;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
|
||||
;;;;
|
||||
;;;; This program is free software; you can redistribute it and/or modify
|
||||
;;;; it under the terms of the GNU General Public License as published by
|
||||
|
@ -197,13 +197,11 @@
|
|||
;;; Caching
|
||||
;;;
|
||||
|
||||
(define environment? pair?)
|
||||
|
||||
(define (cache-hashval hashset entry)
|
||||
(let ((hashset-index (+ hashset-index hashset)))
|
||||
(do ((sum 0)
|
||||
(classes entry (cdr classes)))
|
||||
((environment? (car classes)) sum)
|
||||
((not (struct? (car classes))) sum)
|
||||
(set! sum (+ sum (struct-ref (car classes) hashset-index))))))
|
||||
|
||||
(define (cache-try-hash! min-misses hashset cache entries)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue