Re: Bug report: Loading a FASL into a package which doesn't import SETQ
Pascal Bourguignon <[email protected]> Mon, 26 Oct 2020 10:11:42 +0100
| Newsgroups | gmane.editors.j.devel |
|---|---|
| Message-ID | <[email protected]> |
> On 26 Oct 2020, at 00:57, Robert Munyer <[email protected]> wrote: > > The code below works in CCL, CLISP and SBCL, but not in ABCL. > > $ echo '(cl:format cl:t "~&I am in package ~s.~%" cl:*package*)' > foo.lisp > $ java -jar abcl-1.7.1.jar > Armed Bear Common Lisp 1.7.1 > Java 1.8.0_265 Oracle Corporation > OpenJDK 64-Bit Server VM > Low-level initialization completed in 0.236 seconds. > Startup completed in 0.931 seconds. > Type ":help" for a list of available commands. > CL-USER(1): (defpackage "BAR" (:use)) > #<PACKAGE BAR> > CL-USER(2): (let ((*package* (find-package "BAR"))) (load (compile-file "foo"))) > ; Compiling /tmp/foo/abcl-bin-1.7.1/foo.lisp ... > ; (COMMON-LISP:FORMAT COMMON-LISP:T ...) > ; Wrote /tmp/foo/abcl-bin-1.7.1/foo.abcl (0.036 seconds) > Error loading /tmp/foo/abcl-bin-1.7.1/foo.abcl at line 4 (offset 125) > #<THREAD "interpreter" {1B31C40C}>: Debugger invoked on condition of type UNDEFINED-FUNCTION > The function BAR::SETQ is undefined. > Restarts: > 0: CONTINUE Try again. > 1: USE-VALUE Specify a function to call instead. > 2: RETURN-VALUE Return one or more values from the call to SETQ. > 3: TOP-LEVEL Return to top level. > [1] BAR(3): > Indeed, there’s a bug in abcl. $ clall -r '(defpackage "BAR" (:use))' ' (let ((*package* (find-package "BAR"))) (load (compile-file "foo.lisp")))' Armed Bear Common Lisp --> #<PACKAGE BAR> Armed Bear Common Lisp The function BAR::SETQ is undefined. Clozure Common Lisp --> #<Package "BAR"> Clozure Common Lisp --> #P"/private/tmp/foo.dx64fsl" CLISP --> #<PACKAGE BAR> CLISP --> #P"/private/tmp/foo.fas" ECL --> #<"BAR" package> ECL Note: Invoking external command: gcc -x c-header /usr/local/include/ecl/ecl-cmp.h -I/usr/local/include/ -g -O2 -fPIC -fno-common -D_THREAD_SAFE -Ddarwin -O2 -o /var/folders/pq/82920zm125n09frk81rrtp200000gn/T/ecl-include092A/ecl-cmp.h.gch SBCL --> #<PACKAGE "BAR"> SBCL --> T $ abcl --help|head -n 3 Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 -Xmx6g Armed Bear Common Lisp 1.7.1 Java 11.0.8 AdoptOpenJDK OpenJDK 64-Bit Server VM -- __Pascal J. Bourguignon__