UI/Model Parse - Sliders - WIP
[clnl] / src / main / nvm / utils.lisp
index f95fb7fd8e5dd55044acb9fd7b86da7bd1e6502b..0a5f60486a61cee023770b7cddd5332d3e046b62 100644 (file)
 
 (defmacro with-patch-update (turtle &rest forms)
  (let
-  ((patch (gensym)) (new-patch (gensym)))
+  ((patch (gensym)) (new-patch (gensym)) (retn (gensym)))
   `(let
     ((,patch (patch-at (turtle-xcor ,turtle) (turtle-ycor ,turtle)))
-     (retn (progn ,@forms)))
+     (,retn (progn ,@forms)))
     (let
      ((,new-patch (patch-at (turtle-xcor ,turtle) (turtle-ycor ,turtle))))
      (when (not (eql ,patch ,new-patch))
       (setf (patch-turtles ,patch) (remove ,turtle (patch-turtles ,patch)))
-      (setf (patch-turtles ,new-patch) (nconc (patch-turtles ,new-patch) (list ,turtle))))))))
+      (setf (patch-turtles ,new-patch) (nconc (patch-turtles ,new-patch) (list ,turtle))))
+     ,retn))))