anchor.diff:               (let ((global-header (read-data-block archive (size entry)
                                                      #'round-up-to-tar-block)))
                  (read-entry-from-archive archive)))
  -            ((= (typeflag entry) +gnutar-sparse+)
  -             (error "Don't understand GNU tar sparse entry"))
               (t
  -             (error "Can't understand typeflag: ~A" (typeflag entry))))))))
  +             (error 'unhandled-read-header-error
  +                    :typeflag (typeflag entry))))))))
               
   ;;; FIXME: must add permissions handling, mtime, etc.  maybe those should
   ;;; be specified by flags or somesuch?
  
positive.code:             ((or (= (typeflag entry) +tar-regular-file+)
                   (= (typeflag entry) +tar-directory-file+))
               entry)
              ((= (typeflag entry) +posix-extended-header+)
               (error "Don't understand POSIX extended header entry"))
              ((= (typeflag entry) +posix-global-header+)
               ;; FIXME: We should make the information from this
               ;; available to the user.  At the moment, however, most
  
negative.code:                                :element-type '(unsigned-byte 8))
           (transfer-entry-data-to-stream archive entry stream)))
        (t
         (error 'unhandled-extract-entry-error :typeflag (typeflag entry))))))
  
  (defmethod transfer-entry-data-to-stream ((archive tar-archive)
                                            (entry tar-entry)
  