By default, POSITION checks an element using EQL , which is true for most sequence functions that use tests according to CLHS 17.2.1 . For vectors, EQL is compared by identity, not by content, and the two strings of "A" will usually be different, even if they look the same. For content comparison, you need to pass :test #'equal to POSITION. Either string = or string-equal , which are specialized for strings and will signal an error if one of the arguments is not a string. Also string-equal is case insensitive.
source share