Bug report: COMPILE-FILE, COMPILE-FILE-PATHNAME disagree on output dir

Robert Munyer 2433647181 at munyer.com
Tue Nov 3 02:27:47 UTC 2020

I wrote:

> Looking at the spec, my opinion is that COMPILE-FILE is doing the
> right thing, and COMPILE-FILE-PATHNAME should be changed to match it.

After spending some more time reading the spec, I now believe that I
was wrong above, and that COMPILE-FILE behaved incorrectly in my test.

I now believe that the pathname that COMPILE-FILE should write into is
the one that the code below returns.

(defun compile-file-pathname (input-file &key output-file &allow-other-keys)
  (let ((defaults (make-pathname :type "abcl"
                                 :defaults (merge-pathnames input-file))))
    (cond ((null output-file) defaults)
          (t (merge-pathnames output-file defaults)))))

The function above may be helpful in fixing "Wrong file type returned by
disagree on output dir" (not yet ticketed).  It is my own original work, and
I release it into the public domain, no rights reserved.

More information about the armedbear-devel mailing list