anchor.diff:    (with-slots (stream header record-table) file
       (unless header
         (read-header file))
  -    (unless (zerop (header-record-table header))
  +    (when (zerop (header-record-table header))
         (build-record-table file))
       (let ((buffer (make-block)))
         (file-position stream (header-record-table header))
  
positive.code:                   (peek32 buffer 4) (header-free-list header)
                    (header-free-list header) position)
              (remhash record-number record-table)
              (write-sequence buffer stream)
              (values 0))
            (values -1)))))
  
  
  
  (defun test/dump-lse-file (path)
    (let ((file (lse-data-file-open path)))
      (unwind-protect
           (loop
             :for rn :from 1 :to 1000
             :do (multiple-value-bind (data code) (read-record file rn)
                   (ecase code
                     (-1 #|no record, skip|#)
                     (0 (format t "~4D: NOMBRE  = ~S~%" rn data))
                     (1 (format t "~4D: VECTEUR = ~S~%" rn data))
                     (2 (format t "~4D: TABLEAU = ~S~%" rn data))
                     (3 (format t "~4D: CHAINE  = ~S~%" rn data)))
                   (finish-output)))
        (lse-data-file-close file))))
  
  
  
negative.code:                        :do (setf (row-major-aref data i) (ieee-754-to-float-32 (peek32 buffer j))))
                       (values data (1- +type-array+))))
                    ((#.+type-string+)
                     (let* ((size (peek16 buffer 4))
                            (data (babel:octets-to-string buffer
                                                          :start 6 :end (+ 6 size)
  