<div>Hello,</div><div><br></div><div>I am using CCL (Version 1.4-r13166M (WindowsX8632)) and cannot compile the following file:</div><div><br></div><div>;; (asdf:oos 'asdf:load-op :bordeaux-threads)</div><div><br></div>
<div><div>(defun test-function ()</div><div> (macrolet ((test-macro ()</div><div> (let ((lock (gensym "lock")))</div><div> `(let ((,lock ,(bordeaux-threads:make-lock)))</div><div> (print ,lock)))))</div>
<div> (test-macro)))</div></div><div><br></div><div>I can load the file using (load "test.lisp"), but when I try to eval (compile-file "test.lisp") I get the backtrace reproduced bellow. I guess that the error is related to the macro-expansion of 'test-macro being saved to the fasl file, but I don't know how to fix it.</div>
<div><br></div><div><div>Can't dump #<RECURSIVE-LOCK [ptr @ #x1199AC0] #x9135196> - unknown type</div><div> [Condition of type SIMPLE-ERROR]</div><div><br></div><div>Restarts:</div><div> 0: [RETRY-COMPILE-FILE] Retry compiling #P"d:/tmp/test.lisp"</div>
<div> 1: [SKIP-COMPILE-FILE] Skip compiling and loading #P"d:/tmp/test.lisp"</div><div> 2: [ABORT] Return to SLIME's top level.</div><div> 3: [ABORT-BREAK] Reset this thread</div><div> 4: [ABORT] Kill this thread</div>
<div><br></div><div>Backtrace:</div><div> 0: (CCL::FASL-UNKNOWN #<RECURSIVE-LOCK [ptr @ #x1199AC0] #x9135196>)</div><div> 1: (CCL::FASL-SCAN-CLFUN #<Compiled-function TEST-FUNCTION (Non-Global) #x91345AE>)</div>
<div> 2: (CCL::FASL-SCAN ((23 21) (47 #1="d:/tmp/test.lisp") ..))))</div><div> 3: (CCL::FASL-SCAN-FORMS-AND-DUMP-FILE ((23 21) (47 #1="d:/tmp/test.lisp") ..))) "d:/tmp/test.wx32fsl" #<CCL::LEXICAL-ENVIRONMENT #x913E1F6>)</div>
<div> 4: (CCL::%COMPILE-FILE "d:/tmp/test.lisp" "d:/tmp/test.wx32fsl" T NIL NIL T T NIL T :DEFER NIL #<BACKEND WIN32 #x85782E6> :DEFAULT NIL 0)</div><div> 5: (COMPILE-FILE #P"d:/tmp/test.lisp" :OUTPUT-FILE #P"d:/tmp/test.wx32fsl" :VERBOSE T :PRINT NIL :LOAD T :FEATURES NIL :TARGET :WIN32 :SAVE-LOCAL-SYMBOLS T :SAVE-DOC-STRINGS T :SAVE-DEFINITIONS NIL :SAVE..</div>
<div> 6: (#<Anonymous Function #x8BFB046> #<COMPILED-LEXICAL-CLOSURE #x913EC66>)</div><div> 7: ((:INTERNAL SWANK:COMPILE-FILE-FOR-EMACS))</div><div> 8: (SWANK::MEASURE-TIME-INTERVAL #<COMPILED-LEXICAL-CLOSURE (:INTERNAL SWANK:COMPILE-FILE-FOR-EMACS) #x90BA186>)</div>
<div> 9: (SWANK::COLLECT-NOTES #<COMPILED-LEXICAL-CLOSURE (:INTERNAL SWANK:COMPILE-FILE-FOR-EMACS) #x90BA186>)</div><div> 10: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<COMPILED-LEXICAL-CLOSURE (:INTERNAL SWANK:COMPILE-FILE-FOR-EMACS) #x90BA1B6>)</div>
<div> 11: (CCL::CALL-CHECK-REGS SWANK:COMPILE-FILE-FOR-EMACS "d:/tmp/test.lisp" T NIL)</div><div> 12: (SWANK::EVAL-FOR-EMACS (SWANK:COMPILE-FILE-FOR-EMACS "d:/tmp/test.lisp" T 'NIL) "COMMON-LISP-USER" 65)</div>
<div> 13: ((:INTERNAL SWANK::SPAWN-WORKER-THREAD))</div><div> 14: (#<Anonymous Function #x8C07576> #<Compiled-function SWANK:SWANK-DEBUGGER-HOOK #x8CC696E> #<Compiled-function (:INTERNAL SWANK::SPAWN-WORKER-THREAD) (Non-Global) #x8C552D6>)</div>
<div> 15: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #<SWANK-BACKEND::SLIME-OUTPUT-STREAM #x8D2422E>) (*STANDARD-INPUT* . #<SWANK-BACKEND::SLIME-INPUT-STREAM #x8D24466>) ..))) #<COMPILED-LEXICAL-CLOSURE (..</div>
<div> 16: (SWANK::CALL-WITH-CONNECTION #<CONNECTION #x8D053BE> #<Compiled-function (:INTERNAL SWANK::SPAWN-WORKER-THREAD) (Non-Global) #x8C552D6>)</div><div> 17: (SWANK::CALL-WITH-BINDINGS NIL #<COMPILED-LEXICAL-CLOSURE (:INTERNAL SWANK::SPAWN-WORKER-THREAD) #x90BA426>)</div>
<div> 18: (CCL::RUN-PROCESS-INITIAL-FORM #<PROCESS worker(28) [Active] #x90B4C3E> (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x90B4AFE>))</div><div> 19: ((:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS))) #<PROCESS worker(28) [Active] #x9002276> (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x9002136>))</div>
<div> 20: ((:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION))</div><div><br></div></div>