I'm actually not sure that this patch is enough. I don't understand exactly the ramifications, but with the COND in its current ordering, a non-local special variable that is declared as ignored gets a warning as an ignored undefined variable rather than an ignored special. I'm not sure that's right, but didn't want to change it.
I'm actually not sure that this patch is enough. I don't understand exactly the ramifications, but with the COND in its current ordering, a non-local special variable that is declared as ignored gets a warning as an ignored undefined variable rather than an ignored special. I'm not sure that's right, but didn't want to change it.
Here's an example:
(in-package :common-lisp-user)
(defvar specialvar)
(defun warning-goofs ()
(declare (ignore specialvar undeclared))
nil)