anchor.diff:                                       (mp4-tag:show-tags file :raw raw)))))))
   
   ;;;;;;;;;;;;;;;;;;;; MP3 Tests ;;;;;;;;;;;;;;;;;;;;
  -(defun mp3-test0 (file)
  +(defun mp3-test0 (&optional (file *song-mp3*))
     "Parse one MP3 file (with condition handling)."
     (let ((foo))
       (unwind-protect
  
positive.code:                                    (when file
                                       (mp3-tag:show-tags file :raw raw)))))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (defun test2 (&key (dir "Queen") (raw nil) (file-system-encoding :utf-8))
    "Walk :DIR and call SHOW-TAGS for each file (MP4/MP3) found."
    (set-pathname-encoding file-system-encoding)
    (osicat:walk-directory dir (lambda (f)
                                 (let ((full-name (merge-pathnames (ccl:current-directory) (pathname f))))
                                   (cond ((utils:has-extension f "mp3")
                                          (let ((file (mp3-test0 full-name)))
                                            (when file
                                              (mp3-tag:show-tags file :raw raw))))
                                         ((utils:has-extension f "m4a")
                                          (let ((file (mp4-test0 full-name)))
                                            (when file
                                              (mp4-tag:show-tags file :raw raw)))))))))
  
  (defun time-test (&optional (dir "Queen") &key (file-system-encoding :utf-8) (do-audio-processing t))
    "Time parsing of DIR."
  
negative.code:       (when foo (stream-close foo)))
      foo))
  
  (defun mp3-test2 (&optional (dir "Queen") &key (raw nil) (file-system-encoding :utf-8))
    "Walk :DIR and parse every MP3 we find."
    (set-pathname-encoding file-system-encoding)
    (osicat:walk-directory dir (lambda (f)
  