(require 'stdlib) ;; XXX eval-when-compile always returns '() ;; >>> only receives special treatment when it is a toplevel form (define (range n) (let ((res '())) (dotimes i n (setq res (cons i res))) res)) ;;(puts (make-foo 10)) (defvar lst (list 'a 'b (range 20) 'c)) (puts lst) (define (foo) (let (aap) (setq aap (range 20)) (puts aap))) (define (bar) (let (aap) (eval-when-compile (setq aap (foo 20))) (puts aap))) (foo) (bar) (require 'rep.vm.disassembler) (disassemble foo) (disassemble bar)