Hi Erik,
ABCL appears to remove a function definition that it incorrectly thinks is unused. I've attached abcl-bug.lisp. Here is a transcript:
---- ABCL (fails)
VibhuMondrasMBP:Desktop vibhu$ abcl.sh Armed Bear Common Lisp 1.3.1 Java 1.8.0_11 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM Low-level initialization completed in 0.394 seconds. Startup completed in 1.8 seconds. Loading /Users/vibhu/.abclrc completed in 11.668 seconds. Type ":help" for a list of available commands. CL-USER(1): (load "abcl-bug") ; Note: deleting unused local function LABELS =G T CL-USER(2): (sample2 1) #<THREAD "interpreter" {4F4C3489}>: Debugger invoked on condition of type UNDEFINED-FUNCTION The function SAMPLE2 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 SAMPLE2. 3: TOP-LEVEL Return to top level. [1] CL-USER(3):
---- CLISP (works)
VibhuMondrasMBP:Desktop vibhu$ clisp ;; Loading file /Users/vibhu/.clisprc ... ;; Loading file /Users/vibhu/quicklisp/setup.lisp ... ;; Loading file /Users/vibhu/quicklisp/ASDF.lisp ... ;; Loaded file /Users/vibhu/quicklisp/ASDF.lisp ;; Loaded file /Users/vibhu/quicklisp/setup.lisp ;; Loaded file /Users/vibhu/.clisprc [1]> (load "abcl-bug") ;; Loading file /Users/vibhu/Desktop/abcl-bug.lisp ... ;; Loaded file /Users/vibhu/Desktop/abcl-bug.lisp T [2]> (bug) 1 [3]> (load "tco2") ;; Loading file /Users/vibhu/Desktop/tco2.lisp ... ;; Loaded file /Users/vibhu/Desktop/tco2.lisp T [4]> (sample2 1) 1