anchor.diff:             (values (descriptor-height image)
                      (descriptor-width image)
   		   (descriptor-ncomp image)))
  -          (t (error "Unsupported JPEG format: ~X" marker)))))
  +          (t (error 'unsupported-jpeg-format :code marker)))))
   
   (defun jpeg-file-dimensions (filename)
     "Return image height, width and number of components"
  
positive.code:         (if (< (length buffer) (* (setf (descriptor-height image) height)
                                    (setf (descriptor-width image) width)
                                    (setf (descriptor-ncomp image) ncomp)))
              (error "Invalid buffer supplied: ~A" buffer)
              (setf (descriptor-buffer image) buffer))
          (setf (descriptor-buffer image)
                (allocate-buffer (setf (descriptor-height image) height)
  
negative.code:                 (1 #(0))
                  (2 #(0 1))
                  (4 #(0 1 2 3))
                  (otherwise (error 'illegal-number-of-components)))))
      (declare (special *zz-result* *prev-byte* *prev-length*)
  	     (type (simple-array sint16-2d-array (*)) YUV sampled-buf)
  	     (type fixnum *prev-length* *prev-byte*))
      (cond ((/= ncomp (length sampling))
             (error 'invalid-sampling-list :ncomp ncomp))
            ((> (length q-tabs) ncomp)
             (error 'invalid-quantization-tables))
            ((zerop q-factor)
             (error 'invalid-q-factor))
            ((> (count-relation sampling) 10)
             (error 'invalid-sampling)))
      (when (< q-factor 64)
        (let ((q-tabs2 (make-array (length q-tabs)
  				 :element-type 'uint8-2d-array
  