1. Walton Hoops
  2. cl-taglib

Source

cl-taglib / cl-taglib.lisp

Diff from to

File cl-taglib.lisp

 (defcfun (file-save "taglib_file_save") :boolean
   (file :pointer))
 
+
+;;; BUG: var is evaluated multiple times
+;;; BUG: file is not closed if an error is thrown
+;;; BUG: returns no value
 (defmacro with-tag-file ((var path) &body body)
-  `(let ((,var (file-new ,path)))
+  `(let ((,var-name (file-new ,path)))
      ,@body
-     (file-free ,var)))
+     (file-free ,var-name)))
 
 (defmacro taglib-accessor-for (slot type)
   (let ((function-name (intern (concatenate 'string "TAG-" (string slot))))