anchor.diff:                                         ;;   (,*bmp-gz-scanner* . ,*bmp-gz-hash*)
                                          ;;   (,*nef-scanner*    . ,*nef-hash*)
                                          ;;   (,*tiff-scanner*   . ,*tiff-hash*))
  -                    (list (cons *psd-scanner*     *psd-hash*)
  +                    (list (cons *jpg-scanner*     *jpg-hash*)
                             (cons *jpg-gz-scanner*  *jpg-gz-hash*)
  -                          (cons *jpg-scanner*     *jpg-hash*)
  +                          (cons *nef-scanner*     *nef-hash*)
  +                          (cons *tiff-scanner*    *tiff-hash*)
                             (cons *bmp-scanner*     *bmp-hash*)
                             (cons *bmp-gz-scanner*  *bmp-gz-hash*)
  -                          (cons *nef-scanner*     *nef-hash*)
  -                          (cons *tiff-scanner*    *tiff-hash*))
  +                          (cons *psd-scanner*     *psd-hash*))
                     ;; for chk = (cache-if-image (symbol-value fun) (symbol-value cache))
                     for chk = (cache-if-image fun cache)
                     ;do (print chk *standard-output*)
  
positive.code:                        :if-does-not-exist :create
                         :element-type       'character
                         :external-format   external-format)
        (labels ((hash-file-writer (key val)
                   (format f "~%~A~%(:FILE      ~S~% :DIRECTORY ~S~% :NAME      ~S~% :TYPE      ~S)~%"
                           delim key (elt val 0) (elt val 1) (elt val 2)))
                 (hash-file-mapper ()
                   #-sbcl (maphash #'hash-file-writer hash-table)
                   #+sbcl (if (sb-ext:hash-table-synchronized-p hash-table)
                              (sb-ext:with-locked-hash-table (hash-table)
                                (maphash #'hash-file-writer hash-table))
                              (maphash #'hash-file-writer hash-table))))
          (hash-file-mapper)
          hash-file-name))))
  
  (defun image-hash-write-all-to-file (directory-pathname)
    (flet ((writer (hash-table)
             (image-hash-write-to-file (symbol-value hash-table)
                                       directory-pathname
                                       (string-trim '(#\*) (string-downcase hash-table)))))
      (mapcar #'writer
              (list '*bmp-hash* '*bmp-gz-hash*
                    '*jpg-hash* '*jpg-gz-hash*
                    '*tiff-hash* '*nef-hash* 
                    '*psd-hash* '*other-hash*))))
  
  (defun image-hash-map-conversion-extension (source-hash conversion-hash conversion-extension &key (clear-conversion nil))
    (declare (string conversion-extension)
  
negative.code: (defun image-hash-reset-all ()
    ;; (image-hash-reset-all)
    (declare 
     (special *jpg-hash* *jpg-gz-hash*
              *nef-hash* *tiff-hash*
              *bmp-hash* *bmp-gz-hash* 
              *psd-hash* *other-hash*)
     (optimize (speed 3)))
    (flet ((clear-it (hash-to-clear))
           (with-hash-table-op (ht hash-to-clear)
             (clrhash ht)))
      ;; (mapc #'(lambda (hash) (sb-ext:with-locked-hash-table (hash) (clrhash hash)))
      (mapc #'clear-it (list *jpg-hash* *jpg-gz-hash*
                             *nef-hash* *tiff-hash*
                             *bmp-hash* *bmp-gz-hash*
                             *psd-hash* *other-hash*))))
  
  (defun image-hash-counts-report ()
    ;; (image-hash-counts-report)
    (declare (special *jpg-hash* *jpg-gz-hash*
                      *nef-hash* *tiff-hash*
                      *bmp-hash* *bmp-gz-hash*
                      *psd-hash* *other-hash*)
             (optimize (speed 3)))
    (flet ((ht-and-count (counting-hash)
             ;; (sb-ext:with-locked-hash-table (counting-hash)
             ;;   (hash-table-count counting-hash))
             (with-hash-table-op  (ht  counting-hash)
               (hash-table-count ht))))
      (pairlis (list '*jpg-hash* '*jpg-gz-hash*
                     '*nef-hash* '*tiff-hash*
                     '*bmp-hash* '*bmp-gz-hash*                   
                     '*psd-hash* '*other-hash*)
               (mapcar #'ht-and-count (list *jpg-hash*  *jpg-gz-hash* 
                                            *nef-hash*  *tiff-hash* 
                                            *bmp-hash*  *bmp-gz-hash*
                                            *psd-hash*  *other-hash*)))))
  
  (defun %walk-directory-images-to-hash (directory-pathname &key (clear-count t))
    (declare ((or pathname string) directory-pathname)
             (boolean clear-count)
  