It seems that exists accepts character vectors of lengths other than one, but discards all but the first element without an error or warning. Is this intended? The name "exists" is in the singular, so it's not surprising that it only contemplates the length-one instance but in the absence of an error or warning it may be an improvement to mention what happens when length(x) > 1. exists(as.character(substitute(doesntexist + absenttoo))) Best, Hugh