anchor.diff:                                         &key size &allow-other-keys)
     ;; Give max-heap-end its initial value (depending on the :size initarg).
     (let ((proposed-size (or size *initial-heap-size*)))
  -    (setf (max-heap-end heap)
  -          (if (> proposed-size (heap-size heap))
  -              (+ (heap-start heap) proposed-size)
  -            (heap-end heap))))
  +    (setf (max-heap-end heap) (if (> proposed-size (heap-size heap))
  +                                  (+ (heap-start heap) proposed-size)
  +                                (heap-end heap))
  +          (grow-size heap) (or (grow-size heap)
  +                               (max-heap-end heap))))
     ;; GC should begin in the :ready state.  It will switch to :starting
     ;; state when the heap is expanded.
     (setf (state heap) :ready))
  
positive.code:                  :documentation "The maximum acceptable value for heap-end
  during the current garbage collection.")
     (grow-size :initarg :grow-size
                :initform 2.0
                :accessor grow-size
                :documentation "Specifies a minimum amount to grow the
  heap when it needs to grow. If 'grow size' is an integer, the expected
  
negative.code: ;; $Id: garbage-collector.lisp,v 1.13 2006-08-03 11:31:17 alemmens Exp $
  
  (in-package :rucksack)
  
  