=========== sbcl: * (let ((string "")) (with-output-to-string (escaped) (loop initially (write-char #\a escaped) for char across string for code = (char-code char) do (progn) finally (write-char #\b escaped)))) ; in: LAMBDA NIL ; (CHAR-CODE CHAR) ; ==> ; CHAR ; ; note: deleting unreachable code ; in: LAMBDA NIL ; (LISP-SPECIAL-CHAR-TO-JS CHAR) ; ; caught STYLE-WARNING: ; undefined function: LISP-SPECIAL-CHAR-TO-JS ; ; caught STYLE-WARNING: ; This function is undefined: ; LISP-SPECIAL-CHAR-TO-JS ; ; compilation unit finished ; caught 2 STYLE-WARNING conditions ; printed 1 note "ab" * ============= clisp1: JS> (let ((string "")) (with-output-to-string (escaped) (loop initially (write-char #\a escaped) for char across string for code = (char-code char) do (progn) finally (write-char #\b escaped)))) "b" JS> ============= clisp2, one line deleted: JS> (let ((string "")) (with-output-to-string (escaped) (loop initially (write-char #\a escaped) for char across string do (progn) finally (write-char #\b escaped)))) "ab" JS>