diff --git a/images/apple/DRAWL.po b/images/apple/DRAWL.po
index d02b16b..11e9c78 100644
Binary files a/images/apple/DRAWL.po and b/images/apple/DRAWL.po differ
diff --git a/src/lisp/s-expr.pla b/src/lisp/s-expr.pla
index acb880c..843881f 100644
--- a/src/lisp/s-expr.pla
+++ b/src/lisp/s-expr.pla
@@ -798,9 +798,6 @@ def apply_funargs(funarg, argvals)
   return funexpr
 end
 
-def apply_macro(macro, args)
-end
-
 def eval_atom(atom)#1
   //
   // Atom - return the symbol value or the atom itself
@@ -884,14 +881,9 @@ export def eval_expr(expr)#1
             expr = apply_funargs(func, expr=>cdr)
             break
           elsif func=>car == sym_macro // MACRO
-            curl           = new_cons // Add args to assoc_list
-            curl=>car      = new_cons
-            curl=>car=>car = func=>cdr=>car=>car
-            curl=>car=>cdr = args
-            curl=>cdr      = assoc_list
-            assoc_list     = curl
-            curl           = NULL
-            expr           = func=>cdr=>cdr=>car
+            new_assoc(func=>cdr=>car=>car, args) // Add args kist argument
+            curl = NULL
+            expr = func=>cdr=>cdr=>car
           else
             puts("Non-LAMBDA EVAL:"); print_expr(expr); putln
             expr = NULL