What kind of environment are you using? alert isn't part of CLHS, what is the package named c?
The way of defining a function c:test outside of its package is very unusual. Using setq for undefined variables has undefined consequences, because the global variables should be/are set always special (that does defvar,defparameter, etc.), which setq simply doesn't do -- it defines a variable like defvar, but doesn't make it special as defvar in some CL implementations.
Moreover, the assoc is used in a strange way (not compatible with CL). What are you exactly trying to achieve? Can you describe your problem unambiguously? I can't grasp it from your code. Perhaps, decompose it to subproblems and ask them separately.