> (setq varstring "CITY")
> (match '(@A (chop varstring) @B) description)
> perhaps the function in the middle of the quote is the problem? Or the extra
> list introduced by chop?
Yes. The 'chop' call is not evaluated inside the quoted expression.
There are two ways to handle it:
1. If the string is constant, you can use a read macro
(match '(@A ~(chop "CITY") @B) ...
2. Otherwise you must build the pattern at runtime
(match (append '(@A) (chop Varstring) '(@B)) ...