[armedbear-devel] Funny behavior about flet after compilation.
wl chiu
wlclive at live.com
Wed Apr 25 10:47:11 UTC 2012
Hi dear devs,
I encountered some funny behaviour between compiled and interpretedcode with flet. I'm not sure if this is a duplicate bug?
-------- flet-bug.lisp --------------
(defun foo (x) (print x))
(defun test1 () (flet ((foo1 () (foo 3))) (foo1)))
(defun test2 () (flet ((foo () (foo 3))) (foo)))
------------------------------------
We compile the following file,
(compile-file "c:/me/temp/flet-bug.lisp") ; Compiling C:/me/temp/flet-bug.lisp ...
; (DEFUN FOO ...)
; (DEFUN TEST1 ...)
; (DEFUN TEST2 ...)
; Wrote c:/me/temp/flet-bug.abcl (2.62 seconds)
Then either load it interpreted or compiled. Interpreted, everything'sfine:
> (load "c:/me/temp/flet-bug.lisp") T > (test1)
3
3 > (test2)
3
3
Compiled, we get an error in test2:
> (load "c:/me/temp/flet-bug.abcl") T > (test1)
3
3 > (test2) ; Evaluation aborted on #<PROGRAM-ERROR {797E7B}>.
The stack trace for this is:
Wrong number of arguments for #<FOO {CCA5B9}>. [Condition of type PROGRAM-ERROR] Restarts: 0: [RETRY] Retry SLIME REPL evaluation request. 1: [*ABORT] Return to SLIME's top level. 2: [ABORT] Abort thread. Backtrace: 0: (#<FUNCTION {490A12}> #<PROGRAM-ERROR {19430CA}> #<FUNCTION {490A12}>) 1: (APPLY #<FUNCTION {490A12}> (#<PROGRAM-ERROR {19430CA}> #<FUNCTION {490A12}>)) 2: (SYSTEM::RUN-HOOK SYSTEM::*INVOKE-DEBUGGER-HOOK* #<PROGRAM-ERROR {19430CA}> #<FUNCTION {490A12}>) 3: (INVOKE-DEBUGGER #<PROGRAM-ERROR {19430CA}>) 4: org.armedbear.lisp.Lisp.error(Lisp.java:381) 5: org.armedbear.lisp.Function.execute(Function.java:312) 6: org.armedbear.lisp.Primitive.execute(Primitive.java:113) 7: (FOO 3) 8: (TEST2) 9: (SYSTEM::%EVAL (TEST2)) 10: (EVAL (TEST2)) 11: (SWANK::EVAL-REGION "(test2)
") ... etc ...
Thanks for your attention,
Wei-Lun Chiu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20120425/b3d9a446/attachment.html>
More information about the armedbear-devel
mailing list