anchor.diff:    (cond
       (initial-element-p
        (once-only (vector)
  -       `(free-vector-if-error (,vector)
  +       `(free-vector-on-error (,vector)
             ,@(if (and (constantp element-type env)
                        (constantp initial-element env))
                   (check-initial-element (eval-constant element-type env) initial-element)
  
positive.code:           ,vector)))
      (initial-contents-p
       (once-only (vector)
         `(free-vector-if-error (,vector)
            ,@(if (and (constantp length env)
                       (constantp initial-contents env))
                  (check-initial-contents length (eval-constant initial-contents env))
  
negative.code:   #+(or ecl lispworks) t
    #-(or ecl lispworks) nil)
  
  (defmacro free-vector-on-error ((vector) &body body)
    (if +static-vectors-are-garbage-collected+
        `(progn ,@body)
        `(unwind-protect-case ()
  