INTERN returns multiple values
authorDavid Vazquez <davazp@gmail.com>
Mon, 4 Feb 2013 10:50:43 +0000 (10:50 +0000)
committerDavid Vazquez <davazp@gmail.com>
Mon, 4 Feb 2013 10:50:43 +0000 (10:50 +0000)
ecmalisp.lisp

index 867c283..20c6812 100644 (file)
       (multiple-value-bind (symbol foundp)
           (find-symbol name package)
         (if foundp
-            symbol
+            (values symbol foundp)
             (let ((symbols (%package-symbols package)))
               (oget symbols name)
               (let ((symbol (make-symbol name)))
                 (when (eq package *keyword-package*)
                   (oset symbol "value" symbol)
                   (export (list symbol) package))
-                (oset symbols name symbol)))))))
+                (oset symbols name symbol)
+                (values symbol nil)))))))
 
   (defun symbol-package (symbol)
     (unless (symbolp symbol)