Move all warning logic back to WARN-IF-KW-OR-BELONGS-TO-CL
authorStelian Ionescu <sionescu@cddr.org>
Sat, 23 Feb 2013 20:48:03 +0000 (21:48 +0100)
committerStelian Ionescu <sionescu@cddr.org>
Sat, 23 Feb 2013 20:48:51 +0000 (21:48 +0100)
src/early-types.lisp
src/utils.lisp

index 4d6daa7..29a6ffb 100644 (file)
@@ -69,9 +69,7 @@
 (defmacro define-parse-method (name lambda-list &body body)
   "Define a type parser on NAME and lists whose CAR is NAME."
   (discard-docstring body)
-  (unless (member (package-name *package*) '(#:cffi #:cffi-sys #:cffi-tests)
-                  :key #'string)
-    (warn-if-kw-or-belongs-to-cl name))
+  (warn-if-kw-or-belongs-to-cl name)
   `(eval-when (:compile-toplevel :load-toplevel :execute)
      (setf (find-type-parser ',name)
            (lambda ,lambda-list ,@body))
index 4ca0f79..65e77bf 100644 (file)
@@ -48,9 +48,9 @@ set twos-complement bit."
 ;;; packages.  CFFI itself gets to use keywords without a warning.
 (defun warn-if-kw-or-belongs-to-cl (name)
   (let ((package (symbol-package name)))
-    (when (or (eq package (find-package '#:cl))
-              (and (not (eq *package* (find-package '#:cffi)))
-                   (eq package (find-package '#:keyword))))
+    (when (and (not (eq *package* (find-package '#:cffi)))
+               (member package '(#:common-lisp #:keyword)
+                       :key #'find-package))
       (warn "Defining a foreign type named ~S.  This symbol belongs to the ~A ~
              package and that may interfere with other code using CFFI."
             name (package-name package)))))