diff --git a/code/extfmts.lisp b/code/extfmts.lisp index f7bf6585326c816159da3392ab0d40121becd922..c7549f52038c6c2258b92f67aec2eb933409e6fd 100644 --- a/code/extfmts.lisp +++ b/code/extfmts.lisp @@ -5,7 +5,7 @@ ;;; domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/extfmts.lisp,v 1.6 2009/06/11 16:03:57 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/extfmts.lisp,v 1.7 2009/06/21 13:53:59 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -381,15 +381,15 @@ (replace tmp mvec) (setq mvec tmp))) (setq mx (logand (ash val (- lbits)) (lognot (ash -1 mbits)))) - (when (= (aref mvec (+ hx mx)) #xFFFF) - (setf (aref mvec (+ hx mx)) (length lvec)) + (when (= (aref mvec (+ (aref hvec hx) mx)) #xFFFF) + (setf (aref mvec (+ (aref hvec hx) mx)) (length lvec)) (let ((tmp (make-array (+ (length lvec) (ash 1 lbits)) :element-type '(unsigned-byte 16) :initial-element #xFFFF))) (replace tmp lvec) (setq lvec tmp))) (setq lx (logand val (lognot (ash -1 lbits)))) - (setf (aref lvec (+ (aref mvec (+ hx mx)) lx)) + (setf (aref lvec (+ (aref mvec (+ (aref hvec hx) mx)) lx)) (logior z (+ tmp base)))))) (setf (gethash table *.table-inverse.*) (lisp::make-ntrie16 :split (logior (ash (1- mbits) 4) (1- lbits))