Bug report: Loading a FASL into a package which doesn't import SETQ

Pascal Bourguignon pjb at informatimago.com
Mon Oct 26 09:11:42 UTC 2020




> On 26 Oct 2020, at 00:57, Robert Munyer <2433647181 at munyer.com> 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__

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20201026/b4b4e418/attachment.htm>


More information about the armedbear-devel mailing list