Update copyright year
[jscl.git] / ecmalisp.lisp
index 51187e6..c060ffb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ecmalisp.lisp ---
 
-;; Copyright (C) 2012 David Vazquez
+;; Copyright (C) 2012, 2013 David Vazquez
 ;; Copyright (C) 2012 Raimon Grau
 
 ;; This program is free software: you can redistribute it and/or
@@ -71,7 +71,7 @@
  (defun null (x)
    (eq x nil))
 
- (defmacro return (value)
+ (defmacro return (&optional value)
    `(return-from nil ,value))
 
  (defmacro while (condition &body body)
       t))
 
   (defun assoc (x alist)
-    (let ((found nil))
-      (while (and alist (not found))
-        (if (eql x (caar alist))
-            (setq found t)
-            (setq alist (cdr alist))))
-      (car alist)))
+    (while alist
+      (if (eql x (caar alist))
+          (return)
+          (setq alist (cdr alist))))
+    (car alist))
 
   (defun string= (s1 s2)
     (equal s1 s2)))