`make-package' signals error if package exists
authorDavid Vázquez <davazp@gmail.com>
Sun, 1 Dec 2013 19:41:09 +0000 (19:41 +0000)
committerDavid Vázquez <davazp@gmail.com>
Sun, 1 Dec 2013 19:41:09 +0000 (19:41 +0000)
src/package.lisp

index 7449f84..6fd379b 100644 (file)
@@ -26,7 +26,9 @@
     (setf (oget package "symbols") (new))
     (setf (oget package "exports") (new))
     (setf (oget package "use") use)
-    (push package *package-list*)
+    (if (find name *package-list* :key (lambda (s) (oget s "packageName")) :test #'equal)
+        (error "A package namded `~a' already exists." name)
+        (push package *package-list*))
     package))
 
 (defun resolve-package-list (packages)