;;; -*- Mode:Lisp; Readtable:CL; Package:USER; Base:10; Patch-File:T -*-
;;; Patch file for System version 124.76
;;; Reason:
;;;  (make-hash-table) with an integer :rehash-threshold and unspecified
;;;  :actual-size caused an error.
;;; Written 18-Jun-88 16:35:58 by pld (Peter L. DeWolf) at site Gigamos Cambridge
;;; while running on Cthulhu from band 1
;;; with Experimental System 124.75, Experimental Local-File 74.2, Experimental File-Server 23.1, Experimental Unix-Interface 12.0, Experimental ZMail 72.0, Experimental Tape 23.6, Experimental Lambda-Diag 16.2, microcode 1760, SDU Boot Tape 3.14, SDU ROM 8, the old ones.



; From modified file DJ: L.SYS2; HASH.LISP#115 at 18-Jun-88 16:36:10
#10R SYSTEM-INTERNALS#: 
(COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "SYSTEM-INTERNALS")))
  (COMPILER::PATCH-SOURCE-FILE "SYS: SYS2; HASH  "

(defun make-hash-array (&key (size 128.) area
			((:rehash-function rhf) 'hash-array-default-rehash)
			((:rehash-size rhs) 1.3s0)
			(number-of-values 1)
			actual-size
			(rehash-threshold 0.7s0)
			hash-function
			(compare-function 'eq)
			&aux harry blen)
  (setq size (or actual-size (hash-array-good-size size)))
  (if (integerp rehash-threshold)
      (setq rehash-threshold (cl:/ (float rehash-threshold) size)))
  (or rhf (setq rhf 'hash-array-default-rehash))
  (setq blen (+ 1 number-of-values (if hash-function 1 0)))
  (setq harry (make-hash-array-internal
		:make-array (:length (* size blen) :area area :type art-q-list)
		:modulus size
		:block-length blen
		:rehash-threshold rehash-threshold
		:rehash-function rhf
		:rehash-size rhs
		:hash-function hash-function
		:compare-function compare-function))
  (clear-hash-array harry)
  harry)

))
