From: Owen Rodley Date: Sun, 7 Jul 2013 21:32:54 +0000 (+1200) Subject: RPLAC[AD] should return their first argument, not the second X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=587d21c0521468b08f1e1b045f2d08a3a93873a5;p=jscl.git RPLAC[AD] should return their first argument, not the second --- diff --git a/src/compiler.lisp b/src/compiler.lisp index 1c0bad1..51fb547 100644 --- a/src/compiler.lisp +++ b/src/compiler.lisp @@ -1003,10 +1003,16 @@ (get tmp "cdr"))))) (define-builtin rplaca (x new) - `(= (get ,x "car") ,new)) + `(selfcall + (var (tmp ,x)) + (= (get tmp "car") ,new) + (return tmp))) (define-builtin rplacd (x new) - `(= (get ,x "cdr") ,new)) + `(selfcall + (var (tmp ,x)) + (= (get tmp "cdr") ,new) + (return tmp))) (define-builtin symbolp (x) `(bool (instanceof ,x |Symbol|)))