Add flet1, flet, update reference
diff --git a/src/lisp/lisp.c b/src/lisp/lisp.c
index f1a02ed..9aac65d 100644
--- a/src/lisp/lisp.c
+++ b/src/lisp/lisp.c
@@ -716,13 +716,13 @@
value_t merge2(value_t front, value_t back)
{
- if (!listp(front) || !listp(back))
- return nil;
+ if (!listp(front) && listp(back))
+ return cons(front, back);
- if (nilp(front))
- return back;
- else
- *nilptr(front) = back;
+ if (listp(front) && !listp(back))
+ back = cons(back, nil);
+
+ *nilptr(front) = back;
return front;
}