anchor.diff:    ((string :initarg :string))
     (:report (lambda (condition stream)
                (with-slots (string) condition
  -               (format stream "invalid temporary file name template ~S, must contain a percent ~
  -                               sign that is to be replaced by a random string" string)))))
  +               (format stream "invalid temporary file name template ~S, must contain a percent sign that is to be replaced by a random string" string)))))
   
   (defun generate-random-pathname (template random-string-generator)
     (let ((percent-position (or (position #\% template)
  
positive.code:      (unwind-protect
            (progn ,@body)
         (unless ,keep
           (delete-file (pathname ,stream))))))
  
negative.code:       (when (plusp (length string))
          (cl-fad:pathname-as-directory string))))
  
    #+win32
    (define-condition missing-temp-environment-variable (error)
      ()
      (:report (lambda (condition stream)
                 (declare (ignore condition))
                 (format stream "the TEMP environment variable has not been found, cannot continue"))))
  
    #+win32
    (defun get-default-temporary-directory ()
      (or (directory-from-environment "TEMP")
          (error 'missing-temp-environment-variable)))
  
    #-win32
    (defun get-default-temporary-directory ()
      (or (directory-from-environment "TMPDIR")
          #-clisp
  