#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+---------------------- Reporter: Mark Evenson | Type: defect Status: new | Priority: minor Milestone: 1.8.0 | Component: compiler Version: 1.7.1-dev | Keywords: Parent Tickets: | -------------------------------+---------------------- <https://mailman.common-lisp.net/pipermail/armedbear- devel/2020-October/004147.html>
{{{ The code below returns "lx64fsl" in CCL, "fas" in CLISP, and "fasl" in SBCL, but returns "lisp" in ABCL.
I think it should return "abcl" in ABCL.
$ java -jar abcl-1.7.1.jar Armed Bear Common Lisp 1.7.1 Java 1.8.0_272 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.586 seconds. Startup completed in 1.336 seconds. Type ":help" for a list of available commands. CL-USER(1): (pathname-type (compile-file-pathname (make-pathname :name "foo" :type "lisp") :output-file (make-pathname :name "bar"))) "lisp" CL-USER(2): }}}
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: accepted Priority: minor | Milestone: 1.8.0 Component: compiler | Version: 1.7.1-dev Resolution: | Keywords: Parent Tickets: | -------------------------------+-------------------------- Changes (by Mark Evenson):
* owner: (none) => Mark Evenson * status: new => accepted
Comment:
This should be easy.
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: accepted Priority: minor | Milestone: 1.8.0 Component: compiler | Version: 1.7.2-dev Resolution: | Keywords: Parent Tickets: | -------------------------------+-------------------------- Changes (by Mark Evenson):
* version: 1.7.1-dev => 1.7.2-dev
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: accepted Priority: minor | Milestone: 1.8.1 Component: compiler | Version: 1.7.2-dev Resolution: | Keywords: Parent Tickets: | -------------------------------+--------------------------
Comment (by Mark Evenson):
Fix from Robert Munyer in <https://mailman.common-lisp.net/pipermail /armedbear-devel/2020-November/004162.html> submitted as https://github.com/armedbear/abcl/pull/343
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: accepted Priority: minor | Milestone: 1.8.1 Component: compiler | Version: 1.7.2-dev Resolution: | Keywords: Parent Tickets: | -------------------------------+-------------------------- Description changed by Mark Evenson:
Old description:
https://mailman.common-lisp.net/pipermail/armedbear- devel/2020-October/004147.html
{{{ The code below returns "lx64fsl" in CCL, "fas" in CLISP, and "fasl" in SBCL, but returns "lisp" in ABCL.
I think it should return "abcl" in ABCL.
$ java -jar abcl-1.7.1.jar Armed Bear Common Lisp 1.7.1 Java 1.8.0_272 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.586 seconds. Startup completed in 1.336 seconds. Type ":help" for a list of available commands. CL-USER(1): (pathname-type (compile-file-pathname (make-pathname :name "foo" :type "lisp") :output-file (make-pathname :name "bar"))) "lisp" CL-USER(2): }}}
New description:
<https://mailman.common-lisp.net/pipermail/armedbear- devel/2020-October/004147.html>
{{{ The code below returns "lx64fsl" in CCL, "fas" in CLISP, and "fasl" in SBCL, but returns "lisp" in ABCL.
I think it should return "abcl" in ABCL.
$ java -jar abcl-1.7.1.jar Armed Bear Common Lisp 1.7.1 Java 1.8.0_272 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.586 seconds. Startup completed in 1.336 seconds. Type ":help" for a list of available commands. CL-USER(1): (pathname-type (compile-file-pathname (make-pathname :name "foo" :type "lisp") :output-file (make-pathname :name "bar"))) "lisp" CL-USER(2): }}}
COMPILE-FILE, COMPILE-FILE-PATHNAME disagree on output dir <https://mailman.common-lisp.net/pipermail/armedbear- devel/2020-October/004151.html>
{{{ COMPILE-FILE-PATHNAME is supposed to return "the pathname that COMPILE-FILE would write into, if given the same arguments" but in the example below, COMPILE-FILE-PATHNAME returns "src/obj/foo.abcl" while the file that is actually written into is "obj/foo.abcl".
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.
I suppose some might disagree with me about which behavior is correct, but no one can disagree that the two functions' behavior should match.
$ mkdir src obj $ echo '(format t "~&Hello, world!~%")' > src/foo.lisp $ java -jar abcl-1.7.1.jar Armed Bear Common Lisp 1.7.1 Java 1.8.0_272 Oracle Corporation OpenJDK 64-Bit Server VM Low-level initialization completed in 0.179 seconds. Startup completed in 0.828 seconds. Type ":help" for a list of available commands. CL-USER(1): (defvar *infile* (make-pathname :directory '(:relative "src") :name "foo" :type "lisp")) *INFILE* CL-USER(2): (defvar *outfile* (make-pathname :directory '(:relative "obj") :type "abcl" :defaults *infile*)) *OUTFILE* CL-USER(3): (compile-file *infile* :output-file *outfile*) ; Compiling /tmp/foo/src/foo.lisp ... ; (FORMAT T ...) ; Wrote /tmp/foo/obj/foo.abcl (0.014 seconds) #P"/tmp/foo/obj/foo.abcl" NIL NIL CL-USER(4): (compile-file-pathname *infile* :output-file *outfile*) #P"/tmp/foo/src/obj/foo.abcl" CL-USER(5): }}}
--
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: closed Priority: minor | Milestone: 1.8.1 Component: compiler | Version: 1.7.2-dev Resolution: fixed | Keywords: Parent Tickets: | -------------------------------+-------------------------- Changes (by Mark Evenson):
* status: accepted => closed * resolution: => fixed
Comment:
We now use Robert Munyer's version of {{{compile-file-pathname}}}
https://abcl.org/trac/changeset/15480 https://github.com/armedbear/abcl/commit/d6e3b2f3e02807dc39a05571897f77a058871780
#476: Wrong file type returned by COMPILE-FILE-PATHNAME -------------------------------+-------------------------- Reporter: Mark Evenson | Owner: Mark Evenson Type: defect | Status: closed Priority: minor | Milestone: 1.8.1 Component: compiler | Version: 1.7.2-dev Resolution: fixed | Keywords: Parent Tickets: | -------------------------------+--------------------------
Comment (by Mark Evenson):
Further fixes as https://abcl.org/trac/changeset/15484.
armedbear-ticket@common-lisp.net